java抽象类
1)什么是抽象类
在程序实际运行中不存在对象的类就是抽象类
暂时无法实现的方法
2)编写抽象方法
2.1)在方法的返回值类型前编写 abstract
2.2)抽象方法没有方法体
public abstract void show ( ) ;
2.3) 继承抽象类的子类必须重写
抽象类中的抽象法办法
除非子类也是抽象类
2.4) 抽象方法必须在抽象类中
2.5) final 和 abstract 是矛盾关键字
能同时修饰类或方法
3)编写抽象类
2.1)在 class 前编写 abstract 关键字
2.2)抽象类不能实例化
2.3)抽象类中能编写抽象方法
2.4)抽象方法的数量不限(0-无数)
3)抽象类的意义
3.1)将没有意义的对象从程序中抽离
减少程序的复杂度
3.2)抽象类中的抽象方法不用编码,提高效率
3.3)更自然的使用向上造型/重写父类
代码块
抽象类
package com. arron. day05. hw;
public abstract class Pet {
protected String name;
protected int age;
public Pet ( ) {
}
public Pet ( String name, int age) {
this . name = name;
this . age = age;
}
public abstract void show ( ) ;
}
class Dog extends Pet {
private String stain;
public Dog ( ) {
}
public Dog ( String name, int age, String stain) {
super ( name, age) ;
this . stain = stain;
}
@Override
public void show ( ) {
System. out. println ( "名字: " + name+ ",年龄: " + age+ ",品种: " + stain) ;
}
}
主要实现类
package com. arron. day05. hw;
public class TestDemo {
public static void main ( String[ ] args) {
Pet p = new Dog ( "旺财" , 1 , "金毛" ) ;
p. show ( ) ;
}
}