12.抽象类、接口、实现类、接口之间关系、代码块、内部类

12.抽象类、接口、实现类、接口之间关系、代码块、内部类,第1张

一、抽象类

1.抽象方法

概念:使用abstract修饰, 只有返回的声明没有方法的实现

语法:访问修饰符 abstract 返回值类型 方法名称(参数列表);

注意:抽象方法只能在抽象类中

2.抽象类

概念:用abstract修饰的的类就是抽象类

抽象类中成员:

a.成员变量

b.构造方法

c.方法:普通的成员方法 、抽象方法 、静态方法

注意点:

①抽象类不能实例化对象 ,一般是作为父类

②抽象类的构造方法一般用于给子类调用

③子类必须继承父类中所有的抽象方法

④如果子类也是抽象类,就可以不用继承父类的抽象方法

二、接口

1.概念:就是定义一个规范

规范:就是定义一些抽象方法

2.定义接口

语法:访问修饰符 interface 接口的名称{}

3.成员:

a.接口中变量都默认加上public static final 来进行修饰

b.接口中不能有构造方法

c.jdk1.8之前:接口中只能有抽象方法

jdk1.8之后:接口中可以有静态的方法 也可以有默认的方法

jdk1.9之后:接口中可以有私有的方法

三、实现类

1.概念:实现接口的类就是实现类

2.单实现:只实现一个接口

语法:访问修饰符 class 类名 implements 接口的名称{}

多实现:实现多个接口

语法:访问修饰符 class 类名 implements 接口1的名称,接口2的名称{}

实现类必须实现接口中所有抽象方法

四、接口与接口、类与类、接口与类之间的关系

1.接口与接口:可以单继承也可以多继承 也可以多层继承

2.接口与类:单实现与多实现

3.类与类之间:单继承、多层继承不能多继承、

五、代码块

1.概念:编写在{}中的就是代码块

2.分类:局部代码块、构造代码块、静态代码块

六、内部类

1.概念:定义在类中的类或者定义在方法之中的类

2.分类:

①成员内部类:普通成员内部类、私有成员内部类、静态内部类

②局部内部类:定义在方法中的类

3.匿名内部类:没有名字的内部类

4.普通成员内部类:定义在类中

public class Outclass {

        public class Innerclass{

        }

}

内部类可以访问外部类中资源

外部类访问内部类资源需要先实例化对象

外部类以外访问内部类资源 必须实例化内部的对象

访问语法:外部类.内部类 对象名=new 外部类().new内部类()

5.私有成员内部类

访问修饰符 class Outclass{

         private class innerclass{

        }

}

外部类以外的类不能实例化内部类的对象

6.静态内部类

访问修饰符 class Outclass{

         static class innerclass{

        }

}

外部类之外的类访问内部类必须实例化内部类

语法:外部类.内部类 对象名=new 外部类.内部类();

7.局部内部类:定义在方法中的类

访问修饰符 返回值类型 方法的名称(){

       class 类名{

        }

}

外部类以外的内部不能直接访问方法内部类的资源 只能间接通过在方法中实例化内部类对象然后进行访问

8.匿名内部类:没有名称的内部类

本质:1.实例化接口就是实例化实现类  2.实例化抽象类 就是实例化子类对象

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/735869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存