class Car{
int num;
String color;
public void run(){
System.out.println(num+"...."+color);
}
}
class Demo{
public static void main(String[] args){
// Car c1=new Car();
// c1.num=4;
// c1.color="red";
// Car c2=new Car();
// c2.num=4;
// c2.color="red"
//当我们车添加一样的属性的时候,因为一个个设置,会使得代码的复用性不强。所以我们可以添加一个方法来增强代码的复用性。
//下面我们就添加了一个show方法来增强代码的复用性。
//上面的代码,就可以使用下面2句来简单替换了。
Car c1=new Car();
Car c2=new Car();
show(c1);
show(c2);
//这样就实现了代码的复用性的增强
}
public void show(Car c){//类类型变量一定指向对象,要不就是null
c.num=4;
c.color="red";
}
}
匿名对象
简单说:匿名对象就是没有名字的对象。其实就是定义对象的简写格式。
用法:当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。(注意关键字 ‘方法’ ’ 一次’)
class Car{
int num;
String color;
public void run(){
System.out.println(num+"...."+color);
}
}
public class Demo{
public static void main(String[] args){
Car c=new Car();
c.run();//这里是一个对象,调用2个方法
c.run();
new Car.run();
new Car.run();
//这个2句代码虽然一样,但是是2个匿名对象,各自调用了一个run()方法。
//在堆内存中,是开辟了2个空间的。只要有new关键字就代表新的空间被开辟了。
new Car().num=5;//这里本身没有什么意义,因为没有指针引用,一运行完就会销毁
show(new Car());//这样写不会没有意义。下面类类型变量会接受(c=new Car());
}
public static void show(Car c){//类类型变量一定指向对象,要不就是null
c.num=4;
c.color="black";
}
}