Java的自学之路-构造方法 的作用以及与set方法的区别
2016-10-09 10:57
393 查看
在java中,我们创建一个类时需要对类中的成员变量进行私有化,private..这样可以提高代码的安全性,那么在new 一个对象时,我们就不能对类中的成员变量直接赋值,此时可以在类中写一个
方法,这个方法即set()方法,可以用对象的引用来调用set()方法,在set方法里给成员变量进行赋值,如下代码所示:
而构造方法不用创建 set(),get()方法,直接 在类中构造方法即可.所以构造方法的作用也是对成员变量进行初始化值.构造方法的格式:
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值 .可以不写return语句,或者可以写return;
如果在一个类中没有构造方法,系统会默认帮我们写一个无参的构造方法,里面的语句是空语句,当我们用创建了有参的构造方法,此时系统是不会帮我们生成一个无参的构造方法,所以我们写有参的构造方法,必须要把无参的构造方法写上去.
class Demo_Construct {
public static void main(String[] args) {
Person p1 = new Person();
p1.show();
System.out.println("......................");
Person p2 = new Person("冯飞林",23);
p2.show();
}
}
class Person {
private String name;
private int age;
那么构造方法与set(),get()方法的区别呢?
使用构造方法的理由:
1:构造方法注入使用强依赖规定,如果不给足够的参数,对象则无法创建
2:由于Bean的依赖都通过构造方法设置了,那么就不用写更多的set方法,有助于减少代码量。
使用set(),get()方法的理由:
1:如果Bean有很多的依赖,那么构造方法的参数列表会变的很长。
2: 如果一个对象有多种构造方法,构造方法会造成代码量增加。
3:如果构造方法中有两个以上的参数类型相同,那么将很难确定参数的用途.
方法,这个方法即set()方法,可以用对象的引用来调用set()方法,在set方法里给成员变量进行赋值,如下代码所示:
class Demo_This { public static void main(String[] args) { System.out.println("Hello World!"); Person p = new Person(); p.setName("fengfeilin"); p.run(); } } class Person { private String name; private int age;
//<span style="color:#ff0000;">创建一个set方法,对private 成员变量赋值</span> public void setName(String name){ this.name = name; }
//<span style="color:#ff0000;">创建get方法,获取private 成员变量的值</span> public String getName(){ return name; } public void setAge(int age){ age = ag; } public int getAge(){ return age; } public void run (){ System.out.println(name+"....."+age); } }
而构造方法不用创建 set(),get()方法,直接 在类中构造方法即可.所以构造方法的作用也是对成员变量进行初始化值.构造方法的格式:
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值 .可以不写return语句,或者可以写return;
如果在一个类中没有构造方法,系统会默认帮我们写一个无参的构造方法,里面的语句是空语句,当我们用创建了有参的构造方法,此时系统是不会帮我们生成一个无参的构造方法,所以我们写有参的构造方法,必须要把无参的构造方法写上去.
class Demo_Construct {
public static void main(String[] args) {
Person p1 = new Person();
p1.show();
System.out.println("......................");
Person p2 = new Person("冯飞林",23);
p2.show();
}
}
class Person {
private String name;
private int age;
//<span style="color:#ff0000;">无参的构造方法</span> public Person(){ System.out.println("这是一个无参的构造方法"); }
//<span style="color:#ff0000;">有参的构造方法</span> public Person(String name,int age){ this.name = name ; this.age = age; System.out.println("这是一个有参的构造方法"); } public void show(){ System.out.println(name+"....."+age); } }
那么构造方法与set(),get()方法的区别呢?
使用构造方法的理由:
1:构造方法注入使用强依赖规定,如果不给足够的参数,对象则无法创建
2:由于Bean的依赖都通过构造方法设置了,那么就不用写更多的set方法,有助于减少代码量。
使用set(),get()方法的理由:
1:如果Bean有很多的依赖,那么构造方法的参数列表会变的很长。
2: 如果一个对象有多种构造方法,构造方法会造成代码量增加。
3:如果构造方法中有两个以上的参数类型相同,那么将很难确定参数的用途.
相关文章推荐
- JAVA静态代码块执行过程 以及和构造方法的区别
- java中equals和==之间的区别?clone方法的作用,及其为什么要使用clone方法?如何使用clone复制对象?以及深克隆浅克隆
- Java自学之路-Java基础教程-31:Java读文件操作和类的构造方法
- 04 为什么会有构造方法?以及构造函数与set()/get()方法的区别?
- Java初学者Paulmarkyes---中静态代码块,普通代码块,构造代码块,构造方法先后执行顺序以及区别
- Java自学之路-Java基础教程-21:Java的方法参数以及Eclipse新建工程和类
- Eclipse中的快捷键快速生成常用代码(例如无参、带参构造,set、get方法),以及Java中重要的内存分析(栈、堆、方法区、常量池)
- Eclipse中的快捷键快速生成常用代码(例如无参、带参构造,set、get方法),以及Java中重要的内存分析(栈、堆、方法区、常量池)
- java中的void有什么作用啊?构造方法与方法有什么区别呢?
- java弱引用(WeakReference)和SoftReference的区别以及在android内存处理的作用
- Java静态初始化,实例初始化以及构造方法复习~
- Java学习笔记---7.面向对象编程02-类的封装性以及构造方法
- java弱引用(WeakReference)和SoftReference的区别以及在android内存处理的作用
- JAVA中的方法和构造方法有什么区别
- Java静态初始化,实例初始化以及构造方法
- java弱引用(WeakReference)和SoftReference的区别以及在android内存处理的作用
- Java中构造方法的定义和作用
- 我的java学习之路之构造方法和new关键字
- Java静态初始化,实例初始化以及构造方法
- 我的Java学习之路方法重载与构造方法