20210924
关键字
instanceof 运算符
左边: 对象 右边:类 输出True or False
x instanceof SuperClass x 属不属于SuperClass
java.lang.Object类
定义了最基本的状态与行为
clone :克隆
equals: 是否同一
finalize: 内存以外其他资源回收
getClass: 对象实际类型
hashcode:返回内存地址
toString: 默认的,字符串表示
多线程:① notify: ② notifyAll: ③wait:
equals
1.相等与同一
相等:两对象有相同类型,及相同属性值,则称两者相等
同一:两引用变量指向的是同一个变量,则称这两个变量同一
两对象同一,必相等
相等不一定同一。
==判断 是两个对象是否同一
2.定义
判断两个对象是否同一:
public boolean equals(Object x){
return this=x;
}
3.equals 方法重写:让其完成判断“相同的含义”
Strings:
Circle:
先判断类型,再判断属性:
public boolean equals(Object x){
if(this.getClass()!=x.getClass())
return false;
Circle b=(Circle)x;//强制类型转换,因为x显示出来的类是object类
return
(this.radius==b.radius);
}
命令行参数的输入
在main()方法中启动一个Java程序,main()使用一个字符串数组作为参数,它表示启动JAVA这个程序时的命令行参数
JAR文件(自学)
JAR(java Archive File)
对象初始化与回收
1.初始化
2.回收
构造方法
构造方法(constructor)是一种特殊的方法,它是在对象被创建时初始化对象的成员的方法。
方法名与类名相同,无返回值
默认构造方法
类中无声明方法,无参数、方法体为空。
若类声明中没有给实例变量赋初值,则对象的属性值为0/空
自定义构造方法
无参的构造方法对其子类的声明很重要。如果在父类中不存在无参的构造方法,则要求其子类构造方法中显式调用父类构造方法,否则在子类构造方法会出错。
在一个构造方法中调用另一个构造方法
this.关键词 必须出现在方法中的第一行
通常用参数个数较少的构造方法调用参数个数较多的方法
共有/私有构造方法
public
private
构造方法执行顺序
class Window{
int doornum;
public Window(){
this(0);
System.out.println("Window()");
}
public Window(int doornum){
this.doornum=doornum;
System.out.println("Window("+doornum+")");
}
}
class Car{
Window w1=new Window(1);
String color;
public Car(){
this("White");
System.out.println("Car()");
w3=new Window();
}
public Car(String color){
System.out.println("Car("+color+")");
}
public void Speedup(){
System.out.println("Car:Speedup()");
}
Window w2=new Window(2);
Window w3=new Window(3);
}
public class ex3_15{
public static void main(String[] args){
Car c=new Car();
c.Speedup();
}
}
运行结果: Window(1) Window(2) Window(3) Car(White) Car() Window(0) Window() Car:Speedup()
静态初始化器
Static修饰的{}的语句组,用来初始化
对整个类自身进行初始
不是方法,无方法名,返回值,和参数值
调用1次,在类被加载入内存是执行