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

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

相关内容

热门资讯

第三方技巧Wepoke最新版软... 自定义新版系统规律,只需要输入自己想要的开挂功能,一键便可以生成出专用辅助器,不管你是想分享给你好友...
科普常识!WPK透视挂(wpK... 科普常识!WPK透视挂(wpK)辅助透视!(辅助透视)详细教程(2021已更新)(哔哩哔哩);1.W...
推荐几款新版Wepoke德州软... 推荐几款新版Wepoke德州软件透明挂!太坑了原来有挂(有挂存在)(哔哩哔哩);免费下载原版,在软件...
玩家亲测《微扑克wpk透视辅助... 玩家亲测《微扑克wpk透视辅助》太坑了原来确实真的有挂(有挂技巧)是一款可以让一直输的玩家,快速成为...
查到实测辅助!微扑克智能外挂辅... 自定义新版微扑克系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想...
玩家必备教程Wepoke科技软... 玩家必备教程Wepoke科技软件透明挂!太坏了其实是真的有挂(有挂助手)(哔哩哔哩);1、超多福利:...
玩家必用!微扑克app外挂辅助... 玩家必用!微扑克app外挂辅助器真的假的(辅助挂)原来真的是有挂(有挂实锤)详细教程(哔哩哔哩);1...
C语言-->指针详解 提示:本系列文章是C语言的重难点–>指针C语言-->指针详解前言一、什么是指针...
构建未来智能边缘:4G定制化A... 在当今数字化转型的时代背景下,边缘计算正成为连接物理世界与数字世界的关键桥梁ÿ...
玩家必备科普!(WPK技术)辅... 您好,WPK这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏中...