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. 利用ELK构建一个小型的日志收集平台

    利用ELK构建一个小型日志收集平台 伴随着应用以及集群的扩展,查看日志的方式总是不方便,我们希望可以有一个便于我们查询及提醒功能的平台:那么首先需要剖析有几步呢? 格式定义 --> 日志收集 - ...

  2. 设计模式(二)——Java简单工厂模式

    简单工厂模式 案例: 披萨的项目(要便于披萨种类的扩展,要便于维护) 1)披萨的种类很多(比如 GreekPizz.CheesePizz 等) 2)披萨的制作有 prepare,bake, cut, ...

  3. dp practice 1

    https://codeforces.com/problemset/problem/553/A dp+组合数学 dp[i] 放前i种颜色的方法数 #include<bits/stdc++.h&g ...

  4. 2019HDU多校 Round3

    09 K Subsequence #include <bits/stdc++.h> using namespace std; typedef long long ll; const int ...

  5. 灯光照射,圆形探测类问题(解题报告)<分层差分><cmath取整>

    题目描述 一个n*n的网格图上有m个探测器,每个探测器有个探测半径r,问这n*n个点中有多少个点能被探测到. 输入输出格式 输入格式: (1<=r<n<=5000) (1<=m ...

  6. Checkout Assistant CodeForces - 19B

    题意: 给你n个物品,每个物品有一个价格ci和一个支付时间ti,在这个ti时间内,你可以免费拿ti个物品.问你想要带走这n个物品最小需要多少钱 题解: 原本还想着贪心去写,但是好像贪心写不了,,,不属 ...

  7. __getattr__,__getattribute__和__get__的区别

    dir(object)  列出对象的大多数属性 getattr(object, name) 从object对象中获取name字符串指定的属性 hasattr(object, name) 如果objec ...

  8. 记录一些Python中不常用但非常好用的函数

    zfill(): 方法返回指定长度的字符串,原字符串右对齐,前面填充0. print('Helloworld'.zfill(50))0000000000000000000000000000000000 ...

  9. 80x86/Pentium微机原理及接口技术-微处理器-学习笔记

    80x86/  Pentium微机原理及接口技术 1.    计算机基础... 1 1.1常用术语... 1 1.2计算机中数与编码的表示方法... 1 1.2.1进制表示及进制转换... 1 1.2 ...

  10. CF1474-D. Cleaning

    CF1474-D. Cleaning 题意: 给出一个长度为\(n\)的正整数序列,你可以对序列进行如下操作: 对序列中相邻的两个数字\(a_{i}, a_{i+1}\)同时减去一个数字\(t(t&l ...