Java-抽象组件
发布者 : noShutdown | 发布时间 : 2019-01-17 20:06:40文章号 : 40 | 阅读量 : 269+1 | AAW值(?) : 0.23 (仅供参考)
abstract抽象
抽象方法只声明不实现
抽象方法提供规范给子类,子类只能按照父类的抽象方法执行
当一个类里包含抽象方法时,此类必须是抽象类
抽象就是一种对子类的规范
class Dog extends Animal{
@Override //重写抽象父类的方法
public void shout() { //当父类时抽象类时子类必须实现父类的抽象方法
System.out.println("叫喊");
}
public void seeDoor() {
System.out.println("看门中...");
}
}
abstract class Animal{ //创建抽象类方便子类调用
abstract public void shout(); //定义抽象方法,不能定义方法体
}
抽象类
实际上抽象类只是不能调用,天生就是爸爸,可以写普通的方法供子类调用,也可以有变量,就是比普通的类多了抽象方法
1. 有抽象方法的类必须是抽象类
2. 抽象类不能被实例化,即不能用new来实例化抽象类
3. 抽象类可以包含属性、方法、构造方法。但是构造方法不能用new来实例,只能用来被子类调用
4. 抽象类只能被用来集成
5. 抽象方法必须被子类实现
当子类不实现父类的抽象方法时,编译器会自动报错。
抽象方法
使用abstract修饰,代表此方法为抽象方法
public abstract void One(); //定义抽象方法要使用abstract关键字
就像这样,当然可以添加访问修饰符,类似public abstract void One();
抽象方法内是没有方法体的!!!!
子类继承抽象类时,一定要重写父类的抽象方法,不然编译器会自动报错
抽象方法与普通方法无异,就是没有方法体,可以定义方法返回值类型,也可以定义参数
public abstract int Two(String b); //抽象方法与普通方法无异,只是没有方法体
常量
可以在抽象类里定义常量,常量不能更改值,只能赋一次值。
静态常量可直接访问