【java】学习路线7-继承、super方法、重写、重载
/*继承-java只有单继承
如果你创建了很多个class,但是之间有很多相同的成员变量和成员方法,修改的时候又要多处修改好麻烦,
此时就可以创建多一个类来存储这些重复的东西,统一管理。相当方便.
*/
/*
super方法
调用父类的构造方法
如果想调用带参数的父类构造方法,只需要使用super(...)即可.
如果需要调用同名的父类中的方法,使用super(). 即可.
*/
/*
注意:static修饰词无所谓是继承的还是现场实例化的,凡是用到我static所在类的,都只有唯一一个!
*/
/*
访问同名属性采用就近原则
直接写就是访问当前的代码块
this就是访问当前类中的属性
supper访问父类中的属性
*/
/*
继承中的构造:通过构造子类对象的时候都会调用父类的构造方法,显式隐式
如果父类设置了有参数的构造方法,则必须用supper(...),系统不会默认调用一个
*/
/*
可以调用其他构造方法,使用this(...)即可
但是在子类又调用父类构造方法,又调用子类的另一个构造方法,是不可以的。
this(..)和super(..)都必须要放在第一条语句中,所以不能!
*/
/*
重写方法
(返回值 方法名 参数)三要素
只要子方法中有方法 ?? 和父类中的一样,则代表父类的方法被重写了,按照子类的为准
注意 1 不能重写父类中的private方法
2 不能重写为权限更低的方法,例如public不能重写为private
*/
/*
重载方法 -
final修饰的是
类 :不能被继承的类
方法:不能被重写的方法
变量:不能被重新赋值 (常量)
常量 : 字面值常量 子定义常量(final)
与重写方法不同的是,重写方法是在子类父类里边的,但是重载方法是在同一个类当中的
参数 方法名 返回值
不一样 一样 不要求
*/
public class Learn06{
public static void main (String[] as){
Teacher tt = new Teacher();
//System.out.println(tt.getName());
}
}
class Person{//父类
private static String name;
public Person(){
System.out.println("hello");
}
public Person(String name){
System.out.println(name);
setName(name);
}
public void setName(String name){
this.name=name;
}
public String getName(){
return this.name;
}
private void sayHello(){
System.out.println("你好ya 嘿嘿!~");
}
public void marked(){
System.out.println("父类的narked方法");
}
}
class Teacher extends Person{
private int level;
public Teacher(){
super("杰杰");//调用父类的构造方法2
marked();//调用子类中的marked
super.marked();//调用父类中的marked
Person ps = new Person();
Person ps1= new Person();
ps.setName("-wwzzjj-");
ps1.setName("aaa");
System.out.println("----" + ps.getName() + "---"+ super.getName());
System.out.println("----------");
sayHello();
}
public void marked(){
System.out.println("子类的narked方法");
}
}
【java】学习路线7-继承、super方法、重写、重载的更多相关文章
- 1.8(java学习笔记)继承与方法的重写
继承 在java中可以通过继承提高代码的复用率. 例如A继承了B,就可以是 例如,首先有一个类似Person,这个类中有有一些属性和方法,我们再新建一个Student类,其中有一部分属性和方法与Per ...
- 【技术累积】【点】【java】【23】super以及重写重载
重写和重载 重写是继承之后的Override 重载是同一个方法,有着不同的入参出参这样子: super 当需要在子类中调用父类的被重写方法时,要使用super关键字. 当然只要是调用父类的方法,都会用 ...
- JAVA中继承时方法的重载(overload)与重写/覆写(override)
JAVA继承时方法的重载(overload)与重写/覆写(override) 重载-Override 函数的方法参数个数或类型不一致,称为方法的重载. 从含义上说,只要求参数的个数或参数的类型不一致就 ...
- 【强烈推荐】可能是最适合你的 Java 学习路线和方法
如遇链接无法打开,建议使用 https://github.com/Snailclimb/JavaGuide/blob/master/docs/questions/java-learning-path- ...
- Java继承之方法重写
目录 Java继承之方法重写 代码体现 概念 注意事项 "两同两小一大" 其他注意点 重写与重载 @Override注解 Java继承之方法重写 在Java继承中,子类可以获得父类 ...
- 最新java学习路线:含阶段性java视频教程完整版
最新java学习路线:带阶段性java视频教程版本 第一阶段:Java基础 学习目标: 掌握基本语法.面向对象.常用类.正则.集合.Io流.多线程.Nio.网络编程.JDK新特性.函数式编程 知识点细 ...
- Java学习路线【转】
Java学习路线[转] 第一阶段:JavaSE(Java基础部分) Java开发前奏 计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置,程序的执行过程,相 ...
- java学习路线(好资源大家分享)
对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根 ...
- 【Todo】Java学习路线(方向指导)
在网上搜了下Java学习路线(关键词:学习,因为众所周知,实践出牛人,在平时工作不怎么深入的情况下,才强调学习的方向的重要性 ^_^) 发现下面知乎这个回答写的真好.mark如下: https://w ...
- java学习路线推荐,希望能帮到你
很多小白刚开始学习java时,肯定迷惘过,因为对java基本是啥也不懂的,一直想知道java的具体学习路线,我曾经也看了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,特别 ...
随机推荐
- ubuntu使用postfix和AWS-SES发送邮件
在日常开发中,邮件发送是个比较常见的场景.因此出现了很多相关的软件和服务,各大云厂商也推出自己的邮件服务.今天笔者就像大家介绍一种常见的组合,AWS的邮件服务 SES 与邮件服务器 postfix 的 ...
- H2-Table CATALOGS not found
在使用 IntelliJ IDEA 2021.1.3 版本,使用默认配置连接 H2 数据库的时候,出现下面错误,项目里 H2 使用的版本为 2.0.202 . [42S02][42102] org.h ...
- 【Redis】简单动态字符串SDS
C语言字符串 char *str = "redis"; // 可以不显式的添加\0,由编译器添加 char *str = "redis\0"; // 也可以添加 ...
- 论文解读(USIB)《Towards Explanation for Unsupervised Graph-Level Representation Learning》
论文信息 论文标题:Towards Explanation for Unsupervised Graph-Level Representation Learning论文作者:Qinghua Zheng ...
- BUUCTF-被嗅探的流量
被嗅探的流量 提示告知是文件传输的流量,那进去过滤http流量包即可,找到一个upload目录的,并且是post方式即可,追踪http流即可发现flag
- 2分钟实现一个Vue实时直播系统
前言 我们在不敲代码的时候可能会去看游戏直播,那么是前台怎么实现的呢?下面我们来讲一下.第一步,购买云直播服务 首先,你必须去阿里云或者腾讯云注册一个直播服务.也花不了几个钱,练手的话,几十块钱就够了 ...
- 关键字——this,super,static,final
this 理解为当前对象. //测试 public static void main(String[] args){ Person person = new Person(3, "xiaoM ...
- 这么多房子,哪一间是我的小窝?python采集数据并做数据可视化~
前言 嗨喽,大家好呀!这里是小熊猫 环境使用: (https://jq.qq.com/?_wv=1027&k=ONMKhFSZ) Python 3.8 Pycharm 模块使用: (https ...
- tail -f 、tail -F、tailf的区别
三者经常在工作中会使用到,以下是三条命令的区别,帮忙大家理解:1.tail -f 等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止,但是不是断开. 2 ...
- YYYYMMdd和yyyyMMdd的区别
YYYYMMdd的 YYYY 是表示:当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年.比如今天是2021-12-29 星期三,然后本周六是2022-01-01,存 ...