今天在重温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. mac virtualbox 安装

    在Mac上装virtualbox提示安装失败!!! 安全性与隐私的通用下点击允许!!!

  2. 如何将他人的SOPC工程转换为自己可以使用的工程

    上篇文章的程序源码在:http://download.csdn.net/detail/noticeable/9921952 源码错误现象: 在下载源码文件解压后,打开系统工程,可以看到quartus ...

  3. azkaban disable 停用部分工作流

    在使用azkaban作为调度工具的时候,难免遇到只需要跑工作流某部分的情况,这时需要用到停用部分工作的操作, 如图:

  4. MFS 服务扫描与爆破

    MSF 服务发现 常用来发现局域网内,的常见服务,比如HTTP,FTP,TELNET等. MSF模块搜索: [root@localhost ~]# msfconsole msf5 > searc ...

  5. code2

    #include <unistd.h> #include <sys/syscall.h> #include <linux/kernel.h> #include &l ...

  6. Go语言数据类型

    目录 基本数据类型说明 整型 浮点型 字符 字符类型本质探讨 布尔型 字符串 指针 值类型与引用类型 基本数据类型默认值 基本数据类型相互转换 注意事项 其他基本类型转string类型 string类 ...

  7. web API简介(四):客户端储存之IndexedDB API

    概述 前篇:web API简介(三):客户端储存之Web Storage API 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据. Index ...

  8. docker系统学习之docker界面管理

    docker可视化界面 dockerUI已废弃,转投Portainer项目 Portainer,轻量级管理界面,基本满足中小单位需求 官方Github https://github.com/porta ...

  9. Netty 发送消息失败或者接收消息失败的可能原因

    1. 消息发送失败: 检查通道是否建立成功 Netty中的通道建立采用的是异步方式,获取到的通道对象可能为空或初始化未完成: 2. 接收的消息有丢失 消息可能会粘包,是否有拆包机制

  10. 初识Telerik for AJAX

    由于项目需要,本人又刚入门.net开发,项目经理介绍了一个.net流行的开发框架telerik.于是我开始慢慢学习了,发现这个控件还是不错的,学习到的内容和初学者一起探讨一下. 1:第一步 什么是te ...