Java抽象

2019-07-06  本文已影响0人  Lutous

抽象的概念

如果父类当中的方法不确定如何进行方法体实现,可以将此方法定义为抽象方法

/*
 * 如何使用抽象类和抽象方法:
 * 1:不能直接创建new抽象类对象
 * 2:必须用一个子类来继承抽象父类
 * 3:子类必须覆盖重写父类中所有的抽象方法,除非子类也是抽象类
 * 4:创建子类对象进行使用
 * */
public abstract class Animal{
    
/*
 * 抽象方法格式: abstract 返回值 函数名();
 * 抽象方法所在的类,必须是抽象类。class之前加 abstract
 * */
    public abstract void eat();
    
    public void normalMethod() {
        // TODO Auto-generated method stub
        System.out.println("普通成员方法");
    }
}
public class Cat extends Animal{
    @Override
    public void eat() {
        // TODO Auto-generated method stub
        System.out.println("猫吃鱼");
    }
}

public class DemoMain {
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.eat();
    }
}

Boolean 类型的get方法 public Boolean isXXX{}

重写(Override):方法名称一样,参数列表一样。覆盖、重写
重载(Overload):方法名称一样,参数列表不一样

方法覆盖重写的注意事项:

1.必须保证父子类之间方法的名称相同,参数列表也相同
@Override:写在方法前面,用来检测是不是有效的正确覆盖重写---不写只要满足要求,也是正确的方法覆盖重写
2.子类方法的返回值必须【小于等于】父类方法的返回值范围
3.子类方法的权限必须【大于等于】父类方法的权限修饰符。
public>protected>(default,不是关键字,而是什么都不写,留空)>private

上一篇下一篇

猜你喜欢

热点阅读