在java中,我们创建一个类时需要对类中的成员变量进行私有化,private..这样可以提高代码的安全性,那么在new 一个对象时,我们就不能对类中的成员变量直接赋值,此时可以在类中写一个

方法,这个方法即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;//创建一个set方法,对private 成员变量赋值

public void setName(String name){

this.name = name;

}//创建get方法,获取private 成员变量的值

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;//无参的构造方法

public Person(){

System.out.println("这是一个无参的构造方法");

}//有参的构造方法

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 set的作用,Java的自学之路-构造方法 的作用以及与set方法的区别相关推荐

  1. Java码农进阶之路~构造方法静态与成员变量及方法

    一 构造方法 当你在这个类中没有提供无参的构造方法的时候,系统会在你创建对象的时候,也会调用无参的构造,而这个无参方法,系统会帮你提供一个. 如果你只是提供了有参的构造方法,那么系统将不再给你提供 无 ...

  2. JAVA自学之路 [原创 - 尚学堂科技 - 马士兵老师]

    (我觉得看了之后挺不错的所以分享一下) JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3 ...

  3. JAVA自学之路——马士兵

    JAVA自学之路--马士兵  2007年11月06日 星期二 05:47 P.M.[原创 - 尚学堂科技 - 马士兵老师]    JAVA自学之路 一:学会选择  [转载请注明出处:http://ww ...

  4. Java自学之路 - 马士兵

    一.学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不 ...

  5. java学习基础篇(二)构造器的定义与作用

    本科时自学过一段时间的Java,上研之后就基本没再碰过了,现在想要重新捡起来,所以把这些整理一下,主要是用来督促自己的学习,该资料整理来源于尚硅谷-佟刚的教学视频,仅用来学习. 构造方法的特征 - 它 ...

  6. Java基础入门-自学之路

    前言: 1. 笔者的java没有经过真正系统的学习过,只是跟着书上自学的.所以有些地方难免会理解错误之类的,如果看到错误的地方,请指出来,或者有什么不理解的地方也可以提出来,大家一起进步. 2. 这篇 ...

  7. 读马老师的《Java自学之路》有感

    今天读了一份文档,是马士老师写的<马士兵Java自学之路>,感觉自己很受启发.其中很多的观点和意见不仅对想就业于IT的人士有指导作用,而且也对我们当代的大学生很有启发.我想如果是一名计算机 ...

  8. 【经验】马士兵Java自学之路——(精华版)

    目录  JAVA自学之路 一: 学会选择 2  JAVA自学之路 二: JAVA自学路线图 3  JAVA自学之路 三: 要动手 3  JAVA自学之路 四: 要事为先 4  JAVA自学之路 五: ...

  9. 马士兵老师的Java自学之路(转长篇!!)

    作者:马士兵老师 JAVA自学之路 一:学会选择为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等.那么究竟应该 ...

最新文章

  1. java中servlet filter_lua学习笔记(二)仿java servlet中Filter功能
  2. css实现提示信息,单纯使用CSS实现动态提示信息
  3. 山东计算机编程哪个学校好,山东男孩,8岁懂电脑编程,10岁考上南科大,最后为何惨遭退学?...
  4. Prettier 1.15代码格式化工具新增Angular和Vue.js支持
  5. c++判断一个数字是否为buzz number的算法(附完整源码)
  6. PHP语法,变量,cookie小结
  7. mac定时执行python_Python脚本实现在Mac上DIY定时提醒功能
  8. PHPCMS_单入口初始化执行流程
  9. spring boot 处理自定义注解
  10. lib、dll文件的中函数的查看与lib、dll、pdb文件的介绍
  11. 使用opencv实现简单的人脸识别
  12. 设计模式之观察者模式(Java实现)
  13. 习题--答案--22/6/8
  14. Vue中如何解决跨域问题
  15. spark sql 字符串转时间戳
  16. r7 6800u核显相当于什么显卡
  17. 复旦大学计算机科学与技术,复旦大学计算机科学技术学院
  18. Android无法连接设备调试
  19. php外边框样式,CSS的边框样式
  20. js splice()用法

热门文章

  1. 华为抓取错误日志在哪里_分析Spider抓取情况和SEO优化
  2. python3 循环获取checkbutton_Python3 tkinter基础 Menu add_checkbutton 多选的下拉菜单
  3. python计算工资编程-当财务部的人会编程,会发生什么?Python实现自动化群发工资条...
  4. python画雷达图-Python 详解雷达图/蛛网图
  5. python爬虫什么意思-python的爬虫是什么意思
  6. python必背代码-Python高手必修课:如何让 Python 代码更易读,推荐收藏
  7. 学python可以做什么职业-python学完之后比较适合哪些职业工作呢?
  8. python基础教程书籍-Python基础教程(第2版)
  9. 安装谷歌插件 ~ 一招轻松解决
  10. c语言递归函数奇偶归一猜想,计算机科学视角下的奇偶归一猜想