正常情况
------------------------------------------------------------------
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;
}