特点
-
和类名相同
-
没有返回值
构造器的作用
-
使用new关键字,本质是在调用构造器,一旦定义了有参构造,无参构造就必须显示定义,否则无法使用无参的构造方法
-
用来初始化值
继承的关键字extends,继承是类和类之间的一种关系,子类继承了父类,就会有父类的全部方法,除此之外还有依赖、组合、聚合等关系。Java类中只有单继承,没有多继承。
子类(派生类) is a 父类
私有的属性无法被继承,但可以通过公有的get,set方法进行 *** 作。在调用子类的无参构造方法的时候,自动提前调用了父类的无参构造方法(调用父类的构造器,必须要在子类构造器的第一行)。
ctrl+H是查看继承结构树的快捷键
继承的重难点:object类、super和方法重写
super注意点
-
super调用父类的构造方法,必须在构造方法的第一个
-
super必须只能在子类的方法或者构造的方法中
-
super和this不能同时调用构造方法
vs this:
-
代表的对象不同 this:本身调用者的对象 super:代表父类对象的引用
-
前提:this没有继承也能使用 super只有在继承的条件下使用
-
构造方法:this()本类的构造 super()父类的构造
重写:需要有继承关系,子类重写父类的方法。
-
方法名必须相同
-
参数列表必须相同
-
修饰符的范围可以扩大,但不能缩小 public--->protected--->default--->private
-
抛出的异常可以缩小,但不能扩大:ClassNotFoundException--->Exception
重写:子类的方法和父类必须一致,方法体不同
为什么需要重写
-
父类的功能子类不一定需要或者不一定满足
-
快捷键Alt + Insert:Override
重写只和非静态方法有关,子类重写了父类的方法,使用父类的方法时被子类方法重写。静态方法:方法的调用只和定义的类型有关,定义什么类型,调用什么方法。
多态一个对象的实际类型是确定的,可以指定的引用类型就不确定了。Object object = new People();表示父类的引用指向子类。
注意事项
-
多态是方法的多态,属性没有多态
-
父类和子类需要有联系 否则会出现类型转换异常:ClassCastException
-
存在条件:需要有继承关系,方法需要重写,父类引用指向子类对象
-
不能重写的方法:static属于类,不属于实例;final为常量;private私有方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)