【JavaSE】抽象类和接口和内部类
创始人
2025-01-09 04:39:09
0

目录

  • 抽象类
    • 抽象类,抽象方法定义格式
    • 抽象类,抽象方法注意事项
  • 接口
    • 接口的定义形式
    • idea创建接口步骤
    • 接口特性
  • Object类
  • 内部类
    • 静态内部类
      • 静态内部类特性
    • 实例内部类
      • 特性
    • 局部内部类
    • 匿名内部类

在这里插入图片描述

抽象类

抽象类的实现就是为了更好地实现多态。

抽象类,抽象方法定义格式

在类,方法定义的访问修饰限定符前面或者后面加上关键字abstract。

abstract public class Base {     abstract public void fun(); } public abstract class Base {     public abstract void fun(); } 

抽象方法一定不能有具体实现,就跟c语言中函数声明一样。

抽象类,抽象方法注意事项

1.抽象类不能实例化对象

抽象类实例化对象

2.抽象类中可以有抽象方法也可以有普通方法

抽象类中方法

3.抽象方法不能被private,static,final修饰,因为抽象方法是用来重写的

修饰

4.抽象方法只能存在于抽象类中

抽象方法存在

5.当普通类继承了抽象类就必须重写抽象方法,抽象类继承抽象类可以不重写抽象方法

普通类
抽象类

当我们有抽象类来用多态就更简单:

public class Shape {     public abstract void are(int a);     } class Rect extends Shape{     @Override     public void are(int a) {     System.out.println(a*a);     } } class Cycle extends Shape{     @Override     public void are(int a) {     System.out.println(a*a*3.14);     } } 

接口

接口的定义形式

接口定义与类定义差不多,将类定义的关键字class改为使用关键字interface来定义接口:
接口名一般采用大驼峰且一般使用形容词并且在最前面加一个大写字母I

public interface ISwimming(){ } 

idea创建接口步骤

1.鼠标右击包,new,左击Java Class

1

2.左击interface,输入接口名

2

接口特性

1.接口不能实例化对象

shili

2.接口当中成员变量默认是public static final修饰。

成员变量

3.接口中的方法默认为public abstract 修饰

成员方法

4.接口中的方法从JDK8之后,用default修饰后就可以有具体实现。
defa修饰

5.接口中不能有静态代码块和构造方法

静态代码块和构造方法

6.接口中可以有static修饰方法,修饰后就可以有具体实现
static修饰

7.接口间的“继承”(用延伸更合适)用extends,此处可多延伸
接口继承

8.类使用接口用关键字implements,可多接口
如果一个类既要继承也要实现接口,那一定得继承在前
类使用接口

Object类

Object类在Java中默认是所有类的父类,可以在子类中对Object类的方法进行重写来实现需求。

内部类

类中在定义一个类,这个类中的所有都是为外面这个类服务就叫内部类。

静态内部类

静态内部类就是在类定义的class关键字前加上 static

静态内部类

静态内部类特性

1.实例化静态内部类格式:外部类.内部类 变量名 = new 内部类();
实例静态内部类

2.静态内部类中不能直接访问外部类的非静态成员,要访问就要实例化一个外部类对象
内部类访问外部类成员

3.外部类可以访问内部类所有(包括private修饰)成员,也用实例化来访问
外部类访问内部类

实例内部类

就是直接在类中定义一个普通类

特性

1.不能定义静态成员,非要定义就加final修饰为常量
2.实例化实例内部类:先实例化外部类在
内部类 变量名 = 外部类对象名.new 内部类();
实例内部类实例化
3.实例内部类能直接访问外部类的所有成员(包括private修饰)
4.外部类可以通过实例化实例内部类访问实例内部类所有成员
5.如果实例内部类中有与外部类同名成员,默认访问实例内部类成员,访问外部类成员格式外部类.this.变量名
内部

局部内部类

定义在方法中的类(很少用),只能在方法内部使用

匿名内部类

多用于接口,定义格式如下:

new 接口(){ 	//重写抽象方法 }; 

当匿名内部类用于类时不能被接收,但是用于接口就可以被接收。
接口

相关内容

热门资讯

专业讨论!德扑之星真破解套路(... 专业讨论!德扑之星真破解套路(辅助挂)软件透明挂(有挂了解)-哔哩哔哩;人气非常高,ai更新快且高清...
每日必看!智星德州菠萝外挂检测... 每日必看!智星德州菠萝外挂检测(辅助挂)软件透明挂(有挂教学)-哔哩哔哩1、玩家可以在智星德州菠萝外...
透视透明挂!轰趴十三水有后台(... 轰趴十三水有后台赢率提升策略‌;透视透明挂!轰趴十三水有后台(辅助挂)软件透明挂(有挂详情)-哔哩哔...
发现玩家!德扑ai助手软件(辅... 发现玩家!德扑ai助手软件(辅助挂)透视辅助(有挂教学)-哔哩哔哩;玩家在德扑ai助手软件中需先进行...
一分钟了解!x-poker辅助... 一分钟了解!x-poker辅助软件(辅助挂)辅助透视(有挂攻略)-哔哩哔哩1、每一步都需要思考,不同...
一分钟揭秘!德州最新辅助器(辅... 一分钟揭秘!德州最新辅助器(辅助挂)透视辅助(有挂攻略)-哔哩哔哩;德州最新辅助器最新版本免费下载安...
玩家攻略推荐!德州辅助(辅助挂... 玩家攻略推荐!德州辅助(辅助挂)辅助透视(有挂了解)-哔哩哔哩是由北京得德州辅助黑科技有限公司精心研...
揭秘真相!pokernow德州... 《揭秘真相!pokernow德州(辅助挂)辅助透视(有挂介绍)-哔哩哔哩》 pokernow德州软件...
五分钟了解!德州之星辅助器(辅... 五分钟了解!德州之星辅助器(辅助挂)辅助透视(有挂透明)-哔哩哔哩1、很好的工具软件,可以解锁游戏的...
推荐一款!pokermaste... 1、推荐一款!pokermaster有外挂(辅助挂)透视辅助(有挂教学)-哔哩哔哩;详细教程。2、p...