java初学者必看之构造方法详细解读

构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。

格式

public 类名称(参数类型 参数名称){
方法体
}

注意事项:

1.构造方法的名称必须和所在类名称完全一样,就连大小写也一样。
2. 构造方法不要写返回值类型,连void都不写。【示例代码如下】

package com.example.app06;
//编写构造方法
public class Student {
public Student(){
System.out.println("构造方法执行啦!");
}
}
package com.example.app06;
//调用构造方法
public class Demo02Student {
public static void main(String[] args) {
Student stu=new Student();
}
}

运行结果为:构造方法执行啦!

(注意事项接第2点)

  1. 造方法不能return一个具体的返回值。
  2. .如果没有编写构造方法,那么编译器将会赠送一个构造方法,没有参数、方法体什么都不做。
  3. 一旦编写了至少一个构造方法,那么编译器将不再赠送。
  4. 构造方法也是可以进行重载的:方法名称相同、参数列表不同。
package com.example.app06;
//编写构造方法
public class Student {
private String name;
private int age;
public Student(){
System.out.println("无参构造方法执行啦!");
}
public Student(String name,int age){
System.out.println("全参/有参构造方法执行啦!");
this.age=age;
this.name=name;
}
}
package com.example.app06;
//调用构造方法
public class Demo02Student {
public static void main(String[] args) {
Student s=new Student();
System.out.println("=============");
Student stu=new Student("碧瑶",18);
}
}

要获取或者改变对象的值,仍然需要Setter/Getter方法。

public class Student {//编写含getter和setter 的构造方法
private String name;
private int age;
public Student(){
System.out.println("无参构造方法执行啦!");
}
public Student(String name,int age){
System.out.println("全参/有参构造方法执行啦!");
this.age=age;
this.name=name;
} public void setName(String name) {
this.name = name;
} public String getName() {
return name;
} public void setAge(int age) {
this.age = age;
} public int getAge() {
return age;
}
}
package com.example.app06;
//调用构造方法
public class Demo02Student {
public static void main(String[] args) {
Student s=new Student();
System.out.println("=============");
Student stu=new Student("碧瑶",18);
System.out.println("姓名:"+stu.getName()+",年龄:"+stu.getAge());
//如果需要改变成员变量的数据内容,仍然需要使用setXXX方法,例如碧瑶长大了
}
}
http://www.dtmao.cc/news_show_715224.shtml

java初学者必看之构造方法详细解读的更多相关文章

  1. java初学者必看经典

    配置java环境变量: JAVA_HOME:配置JDK的目录 CLASSPATH:指定到哪里去找运行时需要用到的类代码(字节码) PATH:指定可执行程序的位置 LINUX系统(在" .ba ...

  2. java初学者必看的学习路线

    不管在编程语言的排行榜中,还是在大多数企业应用的广泛程度来看,Java一直都是当之无愧的榜首.Java语言有着独特的魅力吸引着广大的年轻人去学习,每个人学习的方式方法不一样. 第一步:首先要做好学习前 ...

  3. Java编程思想重点笔记(Java开发必看)

    Java编程思想重点笔记(Java开发必看)   Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...

  4. 15个初学者必看的基础SQL查询语句

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...

  5. mysql进阶(二十六)MySQL 索引类型(初学者必看)

    mysql进阶(二十六)MySQL 索引类型(初学者必看)   索引是快速搜索的关键.MySQL 索引的建立对于 MySQL 的高效运行是很重要的.下面介绍几种常见的 MySQL 索引类型.   在数 ...

  6. Java初学者必学的JSTL

    所谓JSTL就是标签库  JSP Standard Tag Library,如果做为java初学者你看不懂那些$符号的话,就有必要来了解一下JSTL,如果你看到满眼的<%}%>(Scrip ...

  7. Java初学者必知 关于Java字符串问题

    摘自 http://developer.51cto.com/art/201503/469443.htm 下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学 ...

  8. web前端开发初学者必看的学习路线(附思维导图)

    很多同学想学习WEB前端开发,虽然互联网有很多的教程.网站.书籍,可是却又不知从何开始如何选取.看完网友高等游民白乌鸦无私分享的原标题为<写给同事的前端学习路线>这篇文章,相信你会有所收获 ...

  9. Java数组(初学者必看)

    数组无论在哪种编程语言中都算是最重要的数据结构之一,同时不同语言的实现及处理也不尽相同.但凡写过一些程序的人都知道数组的价值及理解数组的重要性,与链表一道,数组成为了基本的数据结构.尽管Java提供了 ...

随机推荐

  1. JDBC基础:JDBC快速入门,JDBC工具类,SQL注入攻击,JDBC管理事务

    JDBC基础 重难点梳理 一.JDBC快速入门 1.jdbc的概念 JDBC(Java DataBase Connectivity:java数据库连接)是一种用于执行SQL语句的Java API,可以 ...

  2. 记一次,Docker镜像1G多精简至300+M的过程

    记一次,Docker镜像1G多精简至300+M的过程 一.业务场景描述 二.Docker时区不一致,相差8小时 三.通过Docker发布的服务上传文件上传不上去 四.上传的图片带水印,水印中包含的字体 ...

  3. Spark程序使用Scala进行单元测试

    Spark程序使用Scala进行单元测试 1.Rdd测试 2.无返回值方法测试 3.测试私有方法 原文作者:大葱拌豆腐 原文地址:Spark程序进行单元测试-使用scala 1.Rdd测试 spark ...

  4. Spring框架——事务管理方式搭建一个小的项目

    学习Spring框架,通过事务管理的方式搭建一个小的项目,该项目可以查询对数据库中的图书库存数量进行修改. 首先,使用MVC分层的设计模式思想搭建项目目录结构. 此部分代码源码之中都有相关注释,所以尽 ...

  5. idea中将普通工程设置为maven项目

    只需要在工程上右键,"Add Frameworks support...",然后选择Maven即可

  6. [译]Rxjs&Angular-退订可观察对象的n中方式

    原文/出处: RxJS & Angular - Unsubscribe Like a Pro 在angular项目中我们不可避免的要使用RxJS可观察对象(Observables)来进行订阅( ...

  7. CENTOS7 使用YUM安装MARIADB

    现在在服务器配置数据库,一般都会直接配置MariaDB,它可以实现mysql数据库连接. 1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server ...

  8. java.awt.event.MouseEvent鼠标事件的定义和使用 以及 Java Swing-JTextArea的使用

    最近发现一个CSDN大佬写的Java-Swing全部组件的介绍:Java Swing 图形界面开发(目录) JTextArea 文本区域.JTextArea 用来编辑多行的文本.JTextArea 除 ...

  9. Codeforces Round #686 (Div. 3) E. Number of Simple Paths (思维,图,bfs)

    题意:有一个\(n\)个点,\(n\)条边的图,问你长度至少为\(1\)的简单路径有多少条. 题解:根据树的性质,我们知道这颗树一定存在一个环,假如一棵树没有环,那么它的所有长度不小于\(1\)的简单 ...

  10. poj3260 The Fewest Coins

    Description Farmer John has gone to town to buy some farm supplies. Being a very efficient man, he a ...