1 知识架构
2 练习
package cn.tedu.oop;
//abstract抽象 的测试
public class TestAbstract {
public static void main(String[] args) {
// Animal p=new Animal;报错; 3.抽象类不可以实例化
Cat1 y=new Cat1();
}
}
//class Animal{1.类里有抽象方法,则类必是抽象类
abstract class Animal{
String name;
int age;
String kind;
public Animal() {
System.out.println("我是Animal的无参构造!");
}
//2.抽象类里可 有/无 抽象方法
public void play(){//普通方法 play
System.out.println("小动物们一起玩耍~");
}
public void eat(){//普通方法eat
System.out.println("玩累了,就一起吃饭吧!");
}
public abstract void study();//报错;普通类中不能含有抽象方法
public abstract void read();
}
//class Dog extends Animal{}报错;Dog类未用abstract修饰且为实现父类的抽象方法
abstract class pig extends Animal{}//pig类未实现父类Animal中的任何功能
//Dog类只实现了父类Animal类中study功能
abstract class Dog extends Animal{
public void study(){
System.out.println("小狗学习汪汪叫~");
}
}
class Cat1 extends Animal{
@Override//重写父类study功能
public void study() {
System.out.println("小猫一起学习java~");
}
@Override//重写父类read功能
public void read() {
System.out.println("小猫喜欢看小说!!!");
}
}
abstract class Fruit{
public void grow(){
System.out.println("我长大啦~");
}
private void sweep(){
System.out.println("吃我,我很甜的~");
}
}