1.众类的鼻祖 Object类 是所有类的超类
toString()方法::打印对象时被调用。我们能覆盖toString方法。
public String toString()
{
return ........
}
System.out.println(对象); //实例化的对象
2.内部类 在类内部还能定义另一个类
内部类可以直接调用外部类的属性。使用内部类操作,由于减少了创建对象的操作,从而省去了一部分的内存开销。但是外部类无法找到内部类中所声明的属性。内部类不仅可以在类中定义,亦可以在方法中定义。
void inst()
{
class inner
{
void display()
System.out.println();
}
inner in=new inner();
in.display();
}
3.在方法中定义的内部类只能访问方法中的final类型的局部变量,因为用final定义的局部变量相当于一个常量,他的生命周期超出了方法运行的生命周期。
4.匿名内部类
this.get(new A() //
{
public void fun1()
{
System.out.println(i);
}
}
)
匿名对象
匿名对象,顾名思义就是没有明确的声明的对象。只使用一次对象,没有任何一个具体的对象名称引用它。
System.out.println(new Person().talk());
5.一个方法star()之前要加上static关键字,这是因为main()方法本身也声明成static,而在static方法内只能访问到static成员变量,因star()方法被main()方法所调用,也要把star()声明成static才行。
6.JAVA中的引用:P2未被实例化,也可以用P1对象实例化。(P1将自身的引用传递给了P2)
7.equals方法必须被覆写。因为equals调用的是对象的内存空间地址,比较内存是否相同。
public boolean equals(Object o)
{
boolean temp=true;
person P1=this; //这里的this 就是当前调用equals方法的对象,用this实例化。
if(o instanceof Person) //instanceosf 方法是判断一个实例对象是不是一个类的实例化对象。
{
Person p2=(Person)o;
if(!(p1.name.equals(p2.name&&p1.age==p2.age)))
{
temp=false;
}
}
else
temp=flase;
return temp;
}