java----抽象类与最终类注意点

抽象类与最终类

1. 抽象类

a> 抽象类不能被实例化, 即不能创建对象.
b> 抽象方法不能在非抽象类中.
c> 抽象方法不能有方法体.

    public abstract void eat();

d> 抽象类中既可以由抽象方法, 也可以有普通方法.

public abstract class Animal0124 {
    String name;
    String age;
    String food;
    public abstract void eat();
    public void play() {
        System.out.println(this.name + " is playing.");
    }
}

e> 非抽象类继承抽象类时, 抽象方法必须在重写.

public class Cat0124 extends Animal0124{
    @Override
    public void eat() {
        System.out.println("Cat eat " + this.food);
    }
}

f> 抽象类可以继承抽象类

public abstract class B0124 extends Animal0124{
}

g> abstract 关键字不能修饰成员变量.
2. 最终类

a> 最终类被 final 关键字修饰, 不能被继承
b> 被 final 关键字修饰的方法, 不能被重写.
c> 最终类中可以有被 final 修饰的方法, 也可以有普通方法.

public final class A0124 {
    public final void ff1() {
        System.out.println();
    }
    public void ff2() {
        System.out.println("B");
    }
}

d> 最终类可以被实例化, 即可以创建对象.

最终类 A0124 在上面 4 中.

public class Test0124 {

    public static void main(String[] args) {
        A0124 a = new A0124();
        a.ff1();
        a.ff2();
    }
}

3. abstract 和 final 关键字注意事项
a> abstract 和 final 关键字不能同时修饰类和方法
b> 关键字 abstract 不能修饰实例变量,也不能与 private、static、final 等同时修饰一个成员方法,并且 abstract 修饰的成员方法必须在 abstract 类中

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值