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

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

相关内容

热门资讯

第一分钟辅助挂!随意玩辅助(辅... 第一分钟辅助挂!随意玩辅助(辅助挂)教你教程(最初真的是有挂)是一款可以让一直输的玩家,快速成为一个...
第5分钟辅助!小程序微乐辅助软... 第5分钟辅助!小程序微乐辅助软件(辅助挂)果然存在有挂(详细辅助安装教程)1、任何小程序微乐辅助软件...
黑科技辅助“情怀手机麻将辅助器... 黑科技辅助“情怀手机麻将辅助器”外挂透视辅助助手(都是真的有挂)1、该软件可以轻松地帮助玩家将情怀手...
7分钟辅助!丽水都莱辅助(辅助... 一、丽水都莱辅助简介了解软件请加微:136704302丽水都莱辅助是一款在线扑克游戏平台,玩家可以在...
六分钟辅助挂!椰子大厅辅助脚本... 六分钟辅助挂!椰子大厅辅助脚本(辅助挂)原来是有挂(详细辅助揭秘教程)亲,关键说明,椰子大厅辅助脚本...
黑科技辅助“衢州都莱辅助器下载... 黑科技辅助“衢州都莱辅助器下载”外挂透视辅助助手(切实真的是有挂);暗藏猫腻,小编详细说明衢州都莱辅...
第2分钟透视!皮皮游戏辅助器(... 第2分钟透视!皮皮游戏辅助器(辅助挂)力荐教程(原来有挂)1、在皮皮游戏辅助器ai机器人技巧中,中转...
第五分钟了解!祺友互娱脚本(辅... 第五分钟了解!祺友互娱脚本(辅助挂)好像真的是有挂(详细辅助透明挂教程)暗藏猫腻,小编详细说明祺友互...
黑科技辅助“新上游辅助”外挂透... 黑科技辅助“新上游辅助”外挂透视辅助脚本(原来有挂);1、下载好新上游辅助辅助软件之后点击打开,先需...
3分钟透视!决战卡五星有辅助吗... 您好,决战卡五星有辅助吗这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家...