abstract
抽象类
--是一种模板模式。抽象类为所有子类提供了一个通用模板,子类在这个模板基础上进行扩展
要点:
--有抽象方法的类只能定义成抽象类
--抽象类不能实例化(不能用new来实例化对象)
--抽象类可以包含属性,方法和构造方法。但是构造方法不能用new来实例化,只能被子类来调用
--抽象类只能用来继承
--抽象方法必须被子类实现
package mypro01; //抽象方法必须是抽象类 public abstract class Animal { //abstract String name; 错误 public int age; //构造方法 public Animal() { System.out.println("animal class"); } //抽象方法,没有函数体 public abstract void sleep(); //普通方法,调用抽象方法 public void eat() { System.out.println("animal is eating"); sleep(); } } class Dog extends Animal{ @Override
//抽象方法必须被子类实现 public void sleep() { System.out.println("dog is sleeping"); } }
package mypro01; public class Test6 { public static void main(String[] args) { // Animal a=new Animal(); 抽象类不可以用new实例化 Dog d=new Dog(); d.sleep();//animal class dog is sleeping d.eat();//animal is eating dog is sleeping /* Animal d=new Dog(); Dog d1=(Dog)d; d1.eat(); d1.sleep(); */ } }
posted on 2020-02-26 21:50 happygril3 阅读(282) 评论(0) 收藏 举报
浙公网安备 33010602011771号