构造方法是用来初始化的,在new的时候调用,只会使用一次。也就是说,你造出来的一个对象,之后不能改变(但是set方法可以改变)。
package javabasic;
public class Cat {
private String name;
private int age;
//构造方法名和类名一致
public Cat(String name,int age) {
this.name=name;
this.age=age;
}
public void intro() {
System.out.println("我是"+name+",今年"+age+"岁了");
}
}
在生成对象后没有办法修改对象属性
package javabasic;
public class test {
public static void main(String[] args) {
Cat cat = new Cat("小猫", 2);
cat.intro();
}
}
//运行结果 :我是小猫,今年2岁了
如果使用set/get方法,随时修改 / 读取对象属性值
package javabasic;
public class Animal {
private String name;
private int age;
/*
构造方法,初始化是一次性使用,初始化之后不能修改
public Animal(String name,int age) {
this.name=name;
this.age=age;
}*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void intro() {
System.out.println("我是"+name +",今年"+ age + "岁了");
}
}
package javabasic;
public class test {
public static void main(String[] args) {
Animal animal = new Animal();
animal.setName("小鸟");
animal.setAge(1);
animal.intro(); //输出:我是小鸟,今年1岁了
animal.setAge(2); //重新设置age
System.out.println(animal.getName()+"变成了"+animal.getAge()+"岁了");
}
}
//程序运行结果:
我是小鸟,今年1岁了
小鸟变成了2岁了
通常setget方法用的比较多,因为对象的值通常来说不是一成不变的,需要修改的话要用到set方法,读取用到get方法。