java 05 this static构造函数

正常情况

------------------------------------------------------------------

class ThisDemo1{
public static void main (String[] args ){
Dog d =new Dog();
d.setName("大黄");//给setname赋值
System.out.println(d.getName());//获取姓名
}

}

class Dog {
private String name ;
private String color;
//获取器
public String getName(){
return name;
}

//设置器
/* public void setName(String n){
name = n;
} */

public void setName(String name){
this.name = name;
}
}

静态构造函数

------------------------------------------------------------------------------

class Static{
public static void main (String[] args ){
System.out.println(Benz.getBrand());//通过类访问某个属性
}

}

class Benz{
//static
private static String brand ="BenZ"; //私有的了

public static String getBrand(){
//静态的的无法访问非静态的,静态方法中不可以写this,super关键字
System.out.println(color);
return brand;
}

private String color;
public void setColor(String color){
this.color = color;
}

}

特殊情况

---------------------------------------------------------------

javabean
-------------------------
bean
空的构造函数,
属性
get set方法
this是指向对象自身的引用。

class ThisDemo1{
public static void main (String[] args ){

Dog d =new Dog();
d.setName(name);//给这个传的是地址并没有值
String name ="大黄";
System.out.println(name);//获取姓名
//打印结果为大黄 因为 System.out.println(name)接受的是String name ="大黄";的值


}

}

class Dog {
private String name ;
private String color;
//获取器
public String getName(){
return name;
}

//设置器
/* public void setName(String n){
name = n;
} */

public void setName(String name){
name = "大绿";
}
}

调用其他构造函数  this();

this():调用其他构造函数的方式,必须作为第一条语句。

class ConstructDemo2{
public static void main (String[] args ){
Dog d =new Dog("小白","黄黄");//有参数的构造函数
System.out.println(d.name+","+d.color);
}

}


class Dog{
//成员变量
private String color;
private String name;

public Dog(String name){
this.name= name;
}

public Dog(String c,String n){
//一个函数调用另外一个构造函数
this(name);//调用上面的构造函数 this(name);
this.color =color;

}

原文地址:https://www.cnblogs.com/simly/p/10078214.html