首页 > 代码库 > 抽象类、final关键字。
抽象类、final关键字。
final:
1.修饰符变量--->常量,运行的过程中无法重新赋值。
2.修饰符方法--->最终的方法,在子类中无法重写
3.修饰类--->最终的类,不能被继承。
抽象类作用:通过抽象类,可以避免子类设计的随意性。
* 通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用
*抽象方法:使用abstract修饰的方法,抽象方法没有方法体.
*抽象类:使用abstract修饰的类,抽象类中可以包含抽象方法。非抽象类不能包含抽象方法。
*包含抽象方法的类一定是抽象类, 抽象类中可以没有抽象方法。
*抽象类中可以包含构造方法,抽象类不能实例化,不能使用new关键字创建抽象类的对象.(抽象类不能new)
*Person p = new Person();//错误
*抽象类天生就是为继承设计。
*抽象类的子类必须重写抽象类中的抽象方法或者子类也是抽象类。
*/
=======================================================================================================
例:
public abstract class Person {
String name;
int age;
public Person(){
}
public void intro(){
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
}
//吃的方法
public abstract void eating();
}
*
* 子类继承了抽象类,就必须重写(实现)父类中抽象方法。
*
*/
public class Chinese extends Person {
public Chinese() {
}
public Chinese(String name,int age){
this.name=name;
this.age=age;
}
// 重写父类中抽象方法
@Override
public void eating() {
System.out.println("我是中国人,我喜欢吃饺子!");
}
}
ublic class American extends Person {
public American() {
}
public American(String name,int age){
this.name=name;
this.age=age;
}
=======================================================================================================
@Override
public void eating() {
System.out.println("我是美国佬,我喜欢吃牛排!");
}
public static void main(String[] args) {
Person p = new Chinese("小三",18);
p.intro();
p.eating();
Person p2 = new American("rose",20);
p2.intro();
p2.eating();
}
}
抽象类、final关键字。