final的用法:
final可以修类,该类不能继承
fianl可以修饰成员方法,该方法不能被重写
2. 构造方法:
1)子类中 构造方法,默认的访问父类中的无参构造方法;
2)父类中的无参构造没有提供,子类如何访问父类中的构造方法?
方式1:父类中提供无参构造方法
方式2:通过子类中的super(".."),访问父类中的有参构造
方式3:在本类中可以通过其他构造方法去访问父类中构造方法:
this(); final可以变量(成员/局部变量),这个时候变量就变成了一个常量!(常用)
3.
方法重载和方法重写的区别?
overload:在同一个类中,方法名相同,参数列表不同(参数个数/参数类型),与返回值没有关系
override:子类的方法和父类的一模一样,连返回值都一样.
4.抽象的概述:将功能定义抽象,那么该类就是抽象类!
动物有很多,应该将动物类定义为一个抽象类;动物本身不是一个具体动物,
猫和狗具体的事物,猫和狗和吃的方法不一样,在动物类中把吃的这个方法,定义为抽象方法,那么这个类就必须定义为抽象类;
java针对将一个类定义为抽象----------->abstract:抽象的意思
抽象类的特点:
一个类中可以抽象方法.也可以有非抽象方法
抽象方法的格式:
public abstract void method();
抽象类的子类特点:
子类可以是抽象类,没有任何意义!抽象类不能直接实例化,就不能使用调用调用方法!
子类是非抽象类,必须要重写父类中的抽象方法,然后去使用子类的自己的功能
父类是一个抽象类,如果要创建对象就必须通过子类进行实现!
父类进行实例化只能间接子类进行实例化!
5.抽象类中的成员的特点:
成员变量:可以是变量,也可以是常量!(自定义常量)
成员方法:可以是抽象方法,也可以是非抽象方法
构造方法:一个抽象类中是可以有构造方法的!
6.多态:指的是一个事物,在不同时刻状态的一个体现!
水:固态,气态,液态;
Dog d = new Dog();//创建了一个狗类的对象
Animal a = new Dog();狗是一个动物
= new cat();
多态的前提条件:
1)必须有继承关系
2)继承一个类的同时,子类中必须有方法重写(使用子类中的方法去覆盖父类中的方法)
动物类:吃和睡的功能,子类重写父类的方法的原因:使用子类中有具体的功能..
3)父类的引用指向子类对象
继承的时候:使用子类的:Zi z = new Zi() ;
Fu f = new Zi() ;将f代表的父类引用指向堆内存的子类的对象!
向上转型!
多态中的成员访问特点:
成员变量:
编译看左,运行看左!
非静态成员方法:
编译看左,运行看右
子类中的方法会覆盖掉父类中的方法
静态的成员方法:
编译看左边,运行看左边
(静态和类有关系)
构造方法:始终是给对象进行初始化的!..