【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 接口(){ 	//重写抽象方法 }; 

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

相关内容

热门资讯

分享实测!顺欣茶楼辅助视频(辅... 分享实测!顺欣茶楼辅助视频(辅助挂)果然是有挂(有挂解惑辅助技巧)1、全新机制【顺欣茶楼辅助视频ai...
普及知识!微乐小程序有脚本吗(... 普及知识!微乐小程序有脚本吗(辅助挂)切实是真的有挂(有挂秘笈辅助技巧)1、让任何用户在无需微乐小程...
免费测试版!天道辅助器使用教程... 免费测试版!天道辅助器使用教程(辅助挂)本来是有挂(新版有挂辅助教程)1、天道辅助器使用教程脚本辅助...
信息共享!新财神辅助器(辅助挂... 信息共享!新财神辅助器(辅助挂)都是是真的有挂(有挂实锤辅助神器)暗藏猫腻,小编详细说明新财神辅助器...
科技通报!家乡大贰脚本(辅助挂... 科技通报!家乡大贰脚本(辅助挂)其实是真的有挂(有挂教学辅助攻略)1、让任何用户在无需家乡大贰脚本安...
玩家必看教程!潮友会app下载... 玩家必看教程!潮友会app下载安卓(辅助挂)一贯是有挂(有挂辅助辅助教程)1、首先打开潮友会app下...
详细说明!茶馆游戏辅助(辅助挂... 详细说明!茶馆游戏辅助(辅助挂)切实是真的有挂(详细教程辅助攻略)1、详细说明!茶馆游戏辅助(辅助挂...
必备科技!菠萝神辅助器app(... 必备科技!菠萝神辅助器app(辅助挂)一直是真的有挂(了解有挂辅助攻略)1、超多福利:超高返利,海量...
我来分享!威信茶馆解码器(辅助... 我来分享!威信茶馆解码器(辅助挂)确实是有挂(存在有挂辅助器)1、许多玩家不知道威信茶馆解码器辅助怎...
教程攻略!吉祥填大坑小程序辅助... 教程攻略!吉祥填大坑小程序辅助(辅助挂)确实是真的有挂(有挂存在辅助方法)1、下载好吉祥填大坑小程序...