java_抽象类,java抽象类

java_抽象类,java抽象类

抽象类
1,语法定义
抽象类前使用abstract关键字修饰,则该类为抽象类
2.应用场景
(1)在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。

(2)从多个具有相同特征的类抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性

3.作用

限制规定子类必须实现某些方法,但不关注实现细节

(主要目的:不关注子类的实现。但是要约束子类必须要有哪些子类)

4.适用方法(使用规则)

(1)abstract定义抽象类

(2)abstract定义抽象方法,只声明,不需要实现

(3)包含抽象方法的类都是抽象类

(4)抽象类中可以包含普通的方法,也可以没有抽象方法

(5)抽象类不能直接创建,可以定义引用变量

**抽象类没没有方法体,但是以分号结束

***小技巧

“syso+alt+/”System.out.println(“”);快捷键

在创建子类时,勾选Browse选择父类名称

在创建子类时,勾选abstract直接生成抽象类

创建测试类(Initail类main方法)时,勾选public static void
main(String[] args)直接生成:

public static void main(String[] args) {

// TODO Auto-generated method stub

}

public abstract class Telphone {
    public abstract void call();
    public abstract void message();
}

public class CellPhone extends Telphone {
    @Override
    public void call() {
        System.out.println("通过键盘打电话");
    }
    @Override
    public void message() {
        // TODO Auto-generated method stub
        System.out.println("通过键盘打电话");
    }

}

class SmartPhone extends Telphone {
    @Override
    public void call() {
        // TODO Auto-generated method stub
        System.out.println("可以通过语音打电话");
    }
    @Override
    public void message() {
        // TODO Auto-generated method stub
        System.out.println("可以通过语音发短信");
    }
}

public class Initail {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Telphone tel1=new CellPhone();
        tel1.call();
        tel1.message();
        Telphone tel2=new SmartPhone();
        tel2.call();
        tel2.message();
    }
}

疑问:
@Override  为自动生成的代码,,是什么意思,有什么作用?

// TODO Auto-generated method stub 为自动生成的代码,,是什么意思,有什么作用?

 

练习:

现有shape图形类,他有两个图形类,用Rectangle矩形和Circle圆形子类,求圆形的周长和面积。

 

抽象类 1,语法定义
抽象类前使用abstract关键字修饰,则该类为抽象类 2.应用场景
(1)在某些情况下,某个父类只…

抽象类
1,语法定义
抽象类前使用abstract关键字修饰,则该类为抽象类
2.应用场景
(1)在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。

(2)从多个具有相同特征的类抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性

3.作用

限制规定子类必须实现某些方法,但不关注实现细节

(主要目的:不关注子类的实现。但是要约束子类必须要有哪些子类)

4.适用方法(使用规则)

(1)abstract定义抽象类

(2)abstract定义抽象方法,只声明,不需要实现

(3)包含抽象方法的类都是抽象类

(4)抽象类中可以包含普通的方法,也可以没有抽象方法

(5)抽象类不能直接创建,可以定义引用变量

**抽象类没没有方法体,但是以分号结束

***小技巧

发表评论

电子邮件地址不会被公开。 必填项已用*标注