【java】给成员变量赋值的两种方式的区别 --setXxx()方法和构造方法
2018-03-11 11:39
501 查看
setXxx()方法------单纯修改属性值
构造方法------给对象中属性进行初始化,若修改初始化值则相当于重新new了一个对象而将原对象变成了垃圾。
注意:这两种方式中,在开发中用setXxx()方法更多一些,比较灵活。public class Test_Person {
public static void main(String[] args) {
//有参构造
Person p1 = new Person("果果",20);
//p1 = new Person("花花",23); 修改属性值,但同时也将原对象变成了垃圾。
System.out.println(p1.getName() + ":" +p1.getAge());
//空参构造
Person p2 = new Person();
p1.setName("夏天");
//p1.setName("秋天"); 修改了属性值,重新赋值。
p1.setAge(26);
System.out.println(p1.getName() + ":" +p1.getAge());
}
}
class Person{
private String name;
private int age;
//空参构造
public Person() {
}
//有参构造
public Person(String name,int age) {
this.name = name;
this.age = age;
}
//setXxx()方法设置name
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
//setXxx()方法设置age
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
构造方法------给对象中属性进行初始化,若修改初始化值则相当于重新new了一个对象而将原对象变成了垃圾。
注意:这两种方式中,在开发中用setXxx()方法更多一些,比较灵活。public class Test_Person {
public static void main(String[] args) {
//有参构造
Person p1 = new Person("果果",20);
//p1 = new Person("花花",23); 修改属性值,但同时也将原对象变成了垃圾。
System.out.println(p1.getName() + ":" +p1.getAge());
//空参构造
Person p2 = new Person();
p1.setName("夏天");
//p1.setName("秋天"); 修改了属性值,重新赋值。
p1.setAge(26);
System.out.println(p1.getName() + ":" +p1.getAge());
}
}
class Person{
private String name;
private int age;
//空参构造
public Person() {
}
//有参构造
public Person(String name,int age) {
this.name = name;
this.age = age;
}
//setXxx()方法设置name
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
//setXxx()方法设置age
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
相关文章推荐
- 封装,this,给成员变量赋值的方式(get(),构造方法):
- Java中成员变量和局部变量的区别及构造方法的概述
- 给成员变量赋值的两种方式的区别
- 给成员变量赋值的两种方式的区别
- 成员变量声明时初始化和构造方法中初始化的区别
- Java编程中,子类可以用用这种方法给继承父类的成员变量赋值么?
- 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)
- C++ 通过对象方式 、指针方式两种方式去访问成员变量(属性或者方法)
- 关于Java的构造器和直接为成员变量赋值的区别
- 关于JAVA继承类的静态变量、成员变量、父子类构造方法调用顺序的研究
- Java类中的成员变量的赋值方法
- java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。
- 黑马程序员--Java基础加强--16.利用反射操作泛型V【通过Constructor反射解析泛型构造方法】【通过Field反射解析泛型成员变量】【个人总结】
- 关于JAVA继承类的静态变量、成员变量、父子类构造方法调用顺序的探讨
- Java 子类初始化父类的构造方法 成员变量不支持多态
- Java中成员变量和构造方法谁先初始化的问题
- java 动态绑定及成员变量、构造方法,static方法,private,final方法前期绑定
- c++构造函数成员初始化中赋值和初始化列表两种方式的区别
- Java—String的两种赋值方式及区别
- java-成员方法/变量、类方法/变量等区别