第四次课堂总结
1.
构造函数是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。构造函数的功能主要用于在类的对象创建时定义初始化的状态。构造一个对象,先调用其构造方法,来初始化其成员函数和成员变量。子类拥有父的成员变量和成员方法,如果不调用,则从父类继承而来的成员变量和成员方法得不到正确的初始化。不能反过来调用也是这个原因,因为父类根本不知道子类有神魔变量而且这样一来子类也得不到初始化的父类变量,导致程序运行出错
2.
得到的循行结果如下:A@1c5f743,此为这个类所存在的地址。无任何内容输出地址。
3.
此对象的属性不可改,而且也无法从此类派生出新子类。优点:可以方便和安全地用于多线程环境中, 访问它们可以不用加锁,因而能提供较高的性能。
4.
bject 是 Java 类库中的一个特殊类,也是所有类的父类。也就是说,Java 允许把任何类型的对象赋给 Object 类型的变量。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是
Object 类,Object类中提供了很多便捷的方法,例如toString,equals等
5.
当一个字符串和一个对象相加,会隐式地调用object的tostring方法,可以重写tostring方法来达到想要的目的。
此方法返回“类名 @ + hashCode”。为了返回有意义的信息,子类可以重写toString()方法。
6.方法的覆盖
方法覆盖要求子类与父类的方法一模一样,否则就是方法重载(overload)
在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。
1、覆盖方法允许的访问范围不能低于原方法。
2、覆盖方法的异常不能多于原方法。
3、final和static修饰的方法不能覆盖
7.
instanceof 是 Java 的保留关键字。
作用是:测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。
instanceof是Java中的二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建对象时,返回true;否则,返回false。
8.
父类的不可以通过强制转化成子类的类型的。同时狗和猫类是两个不同的类,不同类型无法进行赋值。
9.
对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。
子类可以拥有和父类一样的字段名,在子类的方法中调用的是子类的字段名,就近原则。
但可以通过super调用父类。如果子类被当作父类使用,则通过子类访问的字段是父类的。
10.抽象与接口
定义一个接口,采用关键字interface,实现一个接口,采用关键字implement
接口的成员函数自动成为public的,数据成员自动成为static和final的。
如果接口不声明为public的,则自动变为package。
一个类可以同时实现多个接口。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南