构造方法的特点:
1.首先构造方法是基于类,名字必须与类的名字完全相同(构造方法一般是自己编写的类需要初始化)
2.每个类都有一个默认的构造方法,既无参数又无返回值,其作用是使用new操作符创建新对象后初始化新建对象
3.一旦为类编写构造方法,默认的构造方法将会被覆盖
4.编写构造方法的目的是向对象传递参数(一般有参),以及对成员变量进行初始化(一般无参)
5.构造方法同样支持方法重载
7.构造方法不能被static,final,abstract,synchronized,native等修饰符修饰

创建对象的语法格式

<对象名>=new <构造方法名>([参数列表]) 如果没用构造方法实例化对象时就会出错

public class Account {
private long id=0;//定义账户
private double amount=0;//定义账户金额
private Date date;//定义交易日期 public double getAmount(){
return amount;
}
public void setAmount(double amount){
this.amount=amount;
}
public long getId(){
return id;
}
public void setId(long id){
this.id=id;
}
public Date getDate(){
return date;
}
public void setDate(Date date){
this.date=date;
}
//输出时将对象转换为字符串
public String toString(){
//获取日期和时间使用short风格的默认日期/时间格式器
DateFormat ssd=DateFormat.getDateInstance();
return "账户ID"+this.getId()+"账户金额:"+this.getAmount()+"$日期:"+ssd.format(this.date); }
public Account(){//无参构造方法
/*每个类至少要有一个构造函数,如果你自己构建了一个带有参数的构造函数而没有再显示的写出无参的构造函数也是可以的,
* 不过当你尝试通过一个无参的构造函数来构建(new)时,此时编译器才会报错,因为找不到这个无参的构造函数。
* 也就是说当一个类你没有给他构造函数,则编译器会自动补上一个无参的,若有的话就不会,你需要显示将此无参的构造函数写出来。*/
this(01,0.0,new Date());
}
public Account(int id, double amount, Date date) {//有参构造方法
this.setId(id);
this.setAmount(amount);
this.setDate(date); }
}

  

java构造方法的特点和理解--三只坚果的更多相关文章

  1. Java虚拟机内存溢出异常--《深入理解Java虚拟机》学习笔记及个人理解(三)

    Java虚拟机内存溢出异常--<深入理解Java虚拟机>学习笔记及个人理解(三) 书上P39 1. 堆内存溢出 不断地创建对象, 而且保证创建的这些对象不会被回收即可(让GC Root可达 ...

  2. java集合源码分析(三):ArrayList

    概述 在前文:java集合源码分析(二):List与AbstractList 和 java集合源码分析(一):Collection 与 AbstractCollection 中,我们大致了解了从 Co ...

  3. JAVA中常用需要设置的三个环境变量(JAVA_HOME、CLASSPATH、PATH)

    JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HO ...

  4. java面试3-对于java中值传递的理解(Hollis)

    这是根据Hollis的直面java内容习得(有兴趣的可以加他微信公众号) 对于初学者来说,要理解java中的值传递很难理解,为什么说java只有值传递?那引用传递呢? java中的错误理解: 错误理解 ...

  5. 20172328 2018-2019《Java软件结构与数据结构》第三周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第三周学习总结 概述 Generalization 本周学习了第五章:队列.主要内容包含队列的处理过程.如何用对例如求解问 ...

  6. java的反射机制(第三篇)

    本文转载自:http://c.biancheng.net/cpp/html/1782.html Person p=new Person();这是什么?当然是实例化一个对象了.可是这种实例化对象的方法存 ...

  7. 2018-2019-20172329 《Java软件结构与数据结构》第三周学习总结

    2018-2019-20172329 <Java软件结构与数据结构>第三周学习总结 教材学习内容总结 <Java软件结构与数据结构>第五章-队列 一.概述 1.队列是什么? 队 ...

  8. 20172305 2018-2019-1 《Java软件结构与数据结构》第三周学习总结

    20172305 2018-2019-1 <Java软件结构与数据结构>第三周学习总结 教材学习内容总结 本周内容主要为书第五章内容: 队列 线性集合(元素从一端加入,另一端删除) 先进先 ...

  9. Java SE/EE/ME概念理解(Java版本发展历史)

    继上一篇文章http://www.cnblogs.com/EasonJim/p/6181981.html中说的区别,其实分析的不够彻底,因此再次在这里做详细的分析. 零.Java与Sun.Oracle ...

随机推荐

  1. HTML5应用 + Cordova = 平台相关的混合应用

    Jerry之前的一篇文章 SAP Fiori应用的三种部署方式 曾经提到SAP Fiori应用的三种部署方式: On Premise环境下以ABAP BSP应用作为Fiori应用部署和运行的载体 部署 ...

  2. MVC之在实例中的应用

    MVC模式在Java Web应用程序中的实例分析 1. 结合六个基本质量属性 1)可用性 2)可修改性 3)性能 4)安全性 5)可测试性 6)易用性 2. 分析具体功能模块的MVC设计实现(例如登录 ...

  3. 在Eclipse中通过JDBC连接MySQL步骤,非常详细!

    通过JDBC连接MySQL基本步骤代码讲解步骤可能遇到的Bug基本步骤JDBC访问MySQL 1.加载JDBC驱动器—>哪个project需要,就添加到该project的jdbc文件夹下,我的j ...

  4. ElasticSearch的常用方法

    关键词  cluster  集群  shards  索引分片    replicas  索引的副本    recovery  数据重新分布 gateway  索引的持久化方式 Transport 交互 ...

  5. powerDesigner的name和comment转化

    name2comment.vbs '****************************************************************************** '* ...

  6. 【软件构造】(转)Git详解、常用操作与版本图

    版本控制与Git 转自:http://www.cnblogs.com/angeldevil/p/3238470.html 版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历 ...

  7. STL || Gym 101653U Top 25

    一组字符串给出两种排列方式, 求最小分成多少组 如 A     A B     C C    D D    B E    E 则分成3组 A B C D E 即为1 3 1 #include < ...

  8. 01-mysql中的数据类型

    mysql中的列数据类型:数值型.字符串类型.日期/时间类型3种 几种列类型描述使用了下述惯例:· M #表示最大显示宽度.最大有效显示宽度是255.· D #适用于浮点和定点类型,表示小数点后面的位 ...

  9. laravel知识点备忘

    1.连表查询:select * from goods left join shop on goods.shopid=shop.shopid; DB::table('goods') ->leftJ ...

  10. Spring Boot 返回Html界面

    @Controller public class HelloController { @RequestMapping("/") public String index(){ ret ...