java的抽象和接口和重写封装

2019-01-24  本文已影响5人  X兄

注:该文章的内容来自慕课网

抽象类:

语法定义: 抽象类前使用abstract关键字修饰,则该类称为抽象类.

应用场景:

抽象应用场景

抽象的作用: 限制规定子类必须实现某些方法,但不关注具体实现细节.

抽象的规则: 1.使用abstract关键字定义  

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

                    3. 包含抽象方法的类是抽象类

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

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

举例:

定义一个抽象类 Telphone:

public abstract class Telphone{

    public abstract void call();

    public abstract void message();

}

定义一个SmartPhone类继承抽象类Telphone:

public class SmartPhoneextends Telphone{

    @Override

    public void call() {

        System.out.println("智能手机通过语音打电话");

    }

    @Override

    public void message() {

        System.out.println("智能手机通过语音发短信");

    }

}

测试使用:

Telphone tel =new SmartPhone();

tel.call();

tel.message();

--------------------------------------------------------------------------------------------------------------------

接口的概念:

1.接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成.

2.如果类是具体的实现体,那么接口就是定义了某一批类所要遵循的规范,接口不关心这些类的内部数据,也不关心这些类里面的方法实现细节,它只规定这些类里必须提供某些方法.

接口的定义:

使用interface关键字,其基本语法为:

接口的基本语法

定义常量:

    接口中的属性是常量,即使定义时不添加Public static final修饰符,系统也会自动加上.

定义方法:

   接口中的方法只能是抽象方法,即使定义时不加public abstract修饰符,系统也会自动添加.

使用接口:

一个类可以实现一个或多个接口,实现接口使用implements关键字,Java中一个类只能继承一个父类,是不够灵活的,通过实现多个接口进行弥补这个不足.

举个例子:

创建一个接口:Person

public interface Person{

    public void playGame();

}

创建一个Run类实现接口:

public class Runimplements Person{

    @Override

    public void playGame() {

        System.out.println("我是人类,我可以奔跑");

    }

}

再创建一个child类实现接口:

public class childimplements Person{

    @Override

    public void playGame() {

        System.out.println("我是一个孩子");

    }

}

然后写一个测试类:

public class Test{

    public static void main(String[] args) {

        Person game =new child();

        game.playGame();

        Person psp =new Run();

        psp.playGame();

    }

}

注: 接口在使用过程当中,还经常与匿名内部类配合使用.  匿名内部类就是没有名字的内部类,多用于关注实现而不关注实现类的名字.

举例:
Person person =new Person() {

    @Override

    public void playGame() {

        System.out.println("使用匿名内部类实现接口");

    }

};

person.playGame();

其实,还有一种方式,可直接new一个接口:

new Person() {

    @Override

    public void playGame() {

        System.out.println("我也是使用匿名内部类实现了接口");

    }

}.playGame();

java的重写:

重写

java中的封装:

封装概念

封装步骤:

封装步骤
上一篇 下一篇

猜你喜欢

热点阅读