继承与多态

继承
java中一个类只许有一个父类
类的继承只能实现单继承  是一种基于已有的类创建新的类
Object类是所有类的父类或者间接父类  修饰值不能用final
class <子类> extends <父类>


scanner用于接收数据
Scanner scanner=new scanner;
String age=scanner.next();//此处为手动输入
System.out.println(age)


super()调用父类构造方法,放在有效代码行第一行
当子类构造方法没有调用父类那个构造方法时,默认调用无参构造方法


笔记  以后补上  关于构造函数的。。。






关于覆盖
!!!!!!this不能用在静态里面****切记切记




一句话 子类一定要调用父类的构造方法


若是父类子类同名,那么分情况
一是 非静态情况下 可以加super.来调用重名的父类变量
二是  静态情况下  必须新建对象名来调用父类变量




重写
重写的类 有final修饰则他不能被子类重写
重写的类要在上面加

@Override来标识是重写的类


对父类方法进行改写或者改造的方法称之为方法重写
非静态修饰的代码块或方法调用重写方法前面加super
重写要求方法名相同,参数列表(数据类型及个数)也要相同
要求返回值类型要相同!!
@Override是注解,若加上后代码没有出错则证明此为不正确的重载


bbject是所有类的父类,是个引用类型
如果父类北重写的方法为引用类型,则子类方法为引用方法或者其子类
子类重写的方法不能缩小父类被重写的访问权限!!!子类被重写方法的访问权限必须大于等于父类的


static final不能被重写!!!
对象上转型用一个更大的视角来看
数据类型分为基础数据类型与引用数据类型


上转形变量方法是多态,成员变量则不可以,成员变量无论你怎样都是父类滴
下转型标准形式 Whale whale=(Whale)mamml
只有上转型对象才能下转型


多态不能使用static
如public static void move()
因为static不能重写

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页