这周学习了多态,内部类,包等知识
多态:同一个类型的对象,执行同一个行为,在不同状态下会表现出不同的行为特征
多态形式
1.父类类型 对象名称 = new 子类构造器
2.Anilam c = new Cat()
3.接口 对象名称 = new 实现类构造器
4.父类类型范围 > 子类类型范围
多态的优势:在多态形式下,右边对象可以实现组件化切换,业务功能也随之改变,便于扩展和维护。可以实现类与类之间的解耦
实际开发的过程中,父类类型作为方法形式参数,传递子类对象给方法,可以传入一切子类对象进行方法的调用,更能体现出多态的扩展性与便利
内部类:定义在一个类里面的类,可以提供更好的封装性,内部类有更多的权限修饰符,封装性有了更多的控制
内部类的分类:静态内部类,成员内部类,局部内部类,匿名内部类(重点)
1.匿名内部类是一个没有名字的内部类
2.匿名内部类一旦写出来,就会立即创建一个匿名内部类的对象返回
3.匿名内部类的对象的类型相当于是当前 new 的那个类型的子类类型
class Abc{
public static void main(String[] agrs){
Animal a=new Animal(){
public void run(){
System.out.println("内部类");
}
};
a.run();
a.go();
}
}
abstract class Animal{
public abstract void run();
public void go(){
System.out.println("开始");
}
}
包
1.相同包下的类可以直接访问
2.不同包下的类必须导包,才可以使用
3.导包格式: import 包名.类名
下周将学习异常与线程,集合等知识,以及发表《大道至简》的读后感,在这周学习中接触到了与c++不同的内部类,可以提供更好的封装性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!