今天在重温Java的同时,一个不是问题的问题,突然地冒出来,不知道大家是不是和我一样,也有过这个比较尴尬的问题
  不啰嗦了,那咱就直接说问题吧~~~
  那么首先我们在Java中都会写构造函数,目的是在创建对象的时候,方便传参对的吧,
  那么同时呢,我们在添加私有属性的时候,也会生成其setter,getter方法,但是,set方法
  也可以传进参数,在调试的时候,我们同样可以通过set方法,进行传参,那么问题来了,
  构造方法在创建对象时,和调用set方法不会冲突吗?
  经过一番激烈的思想斗争之后,终于想明白了~~~~~~~~
  正解:
  构造是用于创建一个对象,为对象初始化好属性值。例如:(张三,23)
  但是一年后,张三要改名字了,那这个对象总不能在重新来一个吧,
  这时setter就派上用场了。
  对象创建成功后,我想获取它的属性,只能通过getter方法来,这个更不能少。
 
 
 
 
1
2
3
4
5
6
7
8
Person p = new Person("zhangsan",22);
System.out.println("姓名:" + p.getName());
System.out.println("年龄:" + p.getAge());
//一年后
p.setName("张三");
p.setAge(23);
System.out.println("一年后,姓名:" + p.getName());
System.out.println("一年后,年龄:" + p.getAge());

  看了上面这个例子,不知道你明白一点没。

  构造函数,就是创建一个对象时调用的。

  而后面的setter,getter方法是为这个对象设置属性值或者获取属性值用的。

  紧接着,一大堆问题又来了
  *那么setter,getter方法跟构造方法它们之间是什么关系呢?
  *这个java程序中setter,getter方法跟构造方法执行时关系是什么?
  *setter,getter方法跟构造方法的执行顺序,流程是怎样的?
  其实,这样的问题总结一下,答案就是优先级的问题,
  我个人感觉,如果构造方法与setter方法同时传参,setter方法的优先级更高
 

Java中构造方法与setter方法的更多相关文章

  1. Java中构造方法跟普通方法的区别?

    构造方法与普通方法的调用时机不同. 首先在一个类中可以定义构造方法与普通方法两种类型的方法,但是这两种方法在调用时有明显的区别. 1.构造方法是在实例化新对象(new)的时候只调用一次 2.普通方法是 ...

  2. java中构造方法和普通方法的区别

    1.普通方法: 定义:简单的说方法就是完成特定功能的代码块. 普通方法定义格式: 修饰符   返回值类型   方法名 (参数类型 参数名1,参数类型 参数名2,.........) { 函数体: re ...

  3. java中构造方法和方法super/this超类与子类中初始化顺序

    java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望 ...

  4. java中substring的使用方法

    java中substring的使用方法 str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str: str ...

  5. Java中Set的contains()方法

    Java中Set的contains()方法 -- hashCode与equals方法的约定及重写原则 翻译人员: 铁锚 翻译时间: 2013年11月5日 原文链接: Java hashCode() a ...

  6. [java,2017-05-16] java中清空StringBuffer的方法以及耗费时间比较

    java中清空StringBuffer的方法,我能想到的有4种: 1. buffer.setLength(0);  设置长度为0 2. buffer.delete(0, buffer.length() ...

  7. java中BorderLayout的使用方法

    相关设置: 使用BorderLayout布局上下左右中布局5个按键,单击中间的那个按键时就关闭窗口 代码: /**** *java中BorderLayout的使用方法 * 使用BorderLayout ...

  8. 重写UITableViewCell子类中属性的setter方法来实现隐藏或显示该cell中的某些控件

    重写UITableViewCell子类中属性的setter方法来实现隐藏或显示该cell中的某些控件 为什么会需要这样子的一种方法来实现隐藏或者显示一个cell中的某些控件呢? 其实,隐藏cell中某 ...

  9. 【Java】Java中常用的String方法

    本文转载于:java中常用的String方法 1 length()字符串的长度 String a = "Hello Word!"; System.out.println(a.len ...

随机推荐

  1. ABP框架系列之九:(Abp-Session-会话)

    Introduction ASP.NET Boilerplate provides IAbpSession interface to obtain current user and tenant wi ...

  2. LabVIEW(十六):多列列表框控件

    1.多列列表框控件:前面板右键>列表.表格和树>多列列表框2.默认情况下只显示列首,可设置显示行首:前面板选中多列列表框右键>显示>行首3.LabVIEW中提供42种自带的图标 ...

  3. ElasticSearch核心知识总结(二)

    如何超出扩容极限,以及如何提升容错性 primary&replica自动负载均衡,6个shared,3个primary,3个replica,随着机器扩容,会被均衡分配到多台机器上 6个shar ...

  4. C# 获取Header中的token值

    public CurrentUser currentUser { get { CurrentUser result = new CurrentUser(); //jwt 解密token IJsonSe ...

  5. 机器学习技法笔记:09 Decision Tree

    Roadmap Decision Tree Hypothesis Decision Tree Algorithm Decision Tree Heuristics in C&RT Decisi ...

  6. Django Rest Framework-介绍

    什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为"表征状态转移" RE ...

  7. 13-03 Java 基本类型包装类概述,Integer类,Character

    基本类型包装类概述 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据.常用的操作之一:用于基本数据类型与字符串之间的转换.基本类型和包装类的对应Byte,Short,Inte ...

  8. Hive的union和join操作

    建表语句: create table  tb_in_base (    id  bigint,    devid bigint,     devname string  ) partitioned b ...

  9. Rsync文件同步工具

    前段时间因公司需求,需要把备份的文件进行同步保存,后面就想到了我们大家都最熟悉的文件同步工作Rsync,于是就捣鼓了一下午时间,然后总结了下大概过程和参数详情. 首先了解了下rsync同步的大致原理: ...

  10. [git与github]__git与github简单了解

    前言 关于版本控制,版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 我们通过版本控制系统可以解决的问题:可以非常方便的查看我们的源码文件的历代更新版本.或将我们的项目源 ...