JAVA--接口+内部类
一.接口了解
1.普通类:只有具体实现
2.抽象类:具体实现的规范(抽象方法)都有!!!
3.接口:只有规范!自己无法写方法,专业的约束,约束和实现分类
4.接口就是规范,定义的是一组规则
5.接口的本质时契约
6.OO的精髓,时对对象的抽象,最能体现这一点的就是接口
声明类的关键字是class,声明接口的关键字是interface
接口作用: 1.约束 2.定义一些方法,让不同的人实现 3.方法都是abstract final 4.常量:public static final
5.接口不能被实例化,接口没有构造方法 6.implements可以实现多个接口 7.必须要重写接口中的方法
接口定义:
package com.oop.demo09;
//interface 定义的关键字,接口都需要是西安类
public interface UserService {
//接口中的所有定义其实都是抽象的public abstract
//public abstract int age = 99;
//在接口里可以不用写public abstract,都是抽象的
//常量,没人这么玩,在接口定义常量
public static final int age1 = 99;//没人这么玩
int age = 99;
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
接口实现:
package com.oop.demo09;
//类可以实现接口;通过implement 接口
//实现了接口的类,就需要重写接口中的方法
//多继承:利用接口实现多继承
public class UserServiceImpl implements UserService,TimeService {
@Override
public void add(String name) {}
@Override
public void delete(String name) {}
@Override
public void update(String name) {}
@Override
public void query(String name) {}
@Override
public void timer() {
}
}
二.N种内部类
1.内部类就是在一个类的内部在定义一个类,比如A类定义了一个B类,那么B类相对于A类来说就是内部类,而A类相当于B类来说就是外部类了
-
成员内部类
-
静态内部类
-
局部内部类
-
匿名内部类
package com.oop.demo10;
public class Outer {
public void method(){
class Inner1{//局部内部类
public void in(){}
}
}
private int id=10;
public void out(){
System.out.println("这是外部类的方法");
}
//下方加了public static ,成为静态公共类,就不能用
//下方getID方法获得id,因为static和类Outer同时执行
class Inner{//内部类
public void in(){
System.out.println("这是内部类方法");
}
//可以获得外部类的私有属性
public void getID(){
System.out.println(id);
}
}
}
//一个java类可以有多个class类,但只能有一个public class
class A{//也是内部类
}
package com.oop.demo10;
public class Test {
public static void main(String[] args) {
//没有名字初始化类,不用将实例保存在变量中
new Apple().eat();//匿名内部类Apple
new UserService(){
@Override
public void hello() {
}
};
}
}
class Apple{
public void eat(){
System.out.println("1");
}
}
interface UserService{
void hello();
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具