文本浏览器

Java-抽象组件

发布者 : noShutdown | 发布时间 : 2019-01-17 20:06:40
文章号 : 41 | 阅读量 : 38+1 | AAW值(?) : 1.66 (仅供参考)

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);  //抽象方法与普通方法无异,只是没有方法体

常量

可以在抽象类里定义常量,常量不能更改值,只能赋一次值。

静态常量可直接访问






评论加载中...

+ 参与讨论