Java学习笔记10(面对对象:构造方法)
在开发中经常需要在创建初始化对象时候明确对象的属性值,
比如Person对象创建的时候就给Person的属性name,age赋值,
这里就要用到构造方法:
构造方法是类的一种特殊方法,它的特殊性体现在:
1.构造方法的方法名与类名相同。
2.构造方法是类的方法,它能够简化对象数据成员的初始化操作。
3.不能对构造方法指定返回值类型,它有隐含的返回值,该值由系统内部使用
4.构造方法一般不能由编程人员显式的直接调用,在创建一个类的对象的同时,系统会自动调用该类的构造方法将新的对象初始化。
5.构造方法可以重载,即可以定义多个具有不同参数的构造方法。
6.构造方法可以继承,即子类可以继承父类的构造方法。
7.如果用户在一个自定义类种未定义该类的构造方法,系统将为这个类定义一个缺省的空构造方法。
public class Person {
private String name;
private int age;
public Person() {//定义空参构造方法
super();//自动继承父类方法,写或不写都会有
}
public Person(String name, int age) {//定义带参构造方法,可以在初始化对象时候直接赋值
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {//自动生成转字符串方法,方便输出观察值
return "Person [name=" + name + ", age=" + age + "]";
}
}
public class Test {
public static void main(String[] args) {
Person p1=new Person();//调用空参构造方法,创建对象,并为该对象的属性值逐个赋值
p1.setAge(18);
p1.setName("张三");
System.out.println(p1);
/*当我们需要创建多个对象时,逐个赋值,效率太低;所以出现了带参构造方法,
通过带参构造方法,我们可以在创建初始化对象的同时直接赋值,简化了代码*/
Person p=new Person("张三", 18);
System.out.println(p);
}
}
Java学习笔记10(面对对象:构造方法)的更多相关文章
- JavaScript:学习笔记(10)——XMLHttpRequest对象
JavaScript:学习笔记(10)——XMLHttpRequest对象 XHR对象 使用XMLHttpRequest (XHR)对象可以与服务器交互.您可以从URL获取数据,而无需让整个的页面刷新 ...
- Java 学习笔记(8)——匿名对象与内部类
一般在编写代码时可能会遇到这样的场景--在某些时候,我需要定义并某个类,但是只会使用这一次,或者是某个类对象只会使用一次,为它们专门取名可能会显的很麻烦.为了应对这种情况,Java中允许使用匿名对象和 ...
- 【Java学习笔记】其他对象API
System类 package p1; import java.util.Properties; import java.util.Set; public class SystemDemo { pri ...
- Java学习笔记--类和对象
1.介绍面向对象的编程 面向对象是现在主流的编程样例,它替代了以前C语言使用时的“结构体”,Java是一门面向对象的语言,所以需要熟悉面向对象的概念.面向对象的程序由很多对象组成,每 ...
- Java学习笔记之类和对象
1.类是对象的抽象,对象是类的实例. 2.一个.java 文件,只能有一个公有类. 3.Java的默认访问权限是:default,即不加任何访问修饰符,该权限设置只能在同一包访问. 当前类 同一包 ...
- java学习笔记09-类与对象
物以类聚,人以群分,我们把具有相似特性或品质的物体归为一类. 类:类是一种模板,它描述一类对象的行为和状态. 对象:对象是类的一个实例,有状态和行为. 比如在一支nba球队中,每个球员都有球衣号码,场 ...
- java学习笔记3--类与对象的基础
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note3.html,转载请注明源地址. 1.面向对象的程序设计方法概述 面向对象的程序设计 与 ...
- Java 学习笔记(10)——容器
之前学习了java中从语法到常用类的部分.在编程中有这样一类需求,就是要保存批量的相同数据类型.针对这种需求一般都是使用容器来存储.之前说过Java中的数组,但是数组不能改变长度.Java中提供了另一 ...
- Java学习笔记10(面向对象三:接口)
接口: 暂时可以理解为是一种特殊的抽象类 接口是功能的集合,可以看作是一种数据类型,是比抽象类更抽象的"类" 接口只描述所应该具备的方法,并没有具体实现,具体实现由接口的实现类(相 ...
随机推荐
- Laravel中APP_KEY起什么作用
框架中是这样描述的: This key is used by the Illuminate encrypter service and should be set to a random, 32 ch ...
- 『PyTorch』第二弹_张量
参考:http://www.jianshu.com/p/5ae644748f21# 几个数学概念: 标量(Scalar)是只有大小,没有方向的量,如1,2,3等 向量(Vector)是有大小和方向的量 ...
- functional program language(what,include,why popular)
函数式语言(functional language)一类程序设计语言.是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型.这种语言具有较强的组织数据结构的能力,可以把某 ...
- SQL Server跨服务器建立视图
create view View_AppCus as select dwmch,zjm from ksoa.dbo.mchk SQL Server跨服务器操作经常需要用到,下面就为你介绍的是SQL S ...
- 数据结构与算法之PHP查找算法(哈希查找)
一.哈希查找的定义 提起哈希,我第一印象就是PHP里的关联数组,它是由一组key/value的键值对组成的集合,应用了散列技术. 哈希表的定义如下: 哈希表(Hash table,也叫散列表),是根据 ...
- ORA-04068 / ORA-04065 / ORA-06508 详细说明
关于在运行ORACLE 包发生ORA-04068 / ORA-04065 / ORA-06508 代码异常的原因只有一个,那就是包含了全局变量/常量的包,在会话保留期间被执行了编译. 对于此类错误,我 ...
- 【转】C# string数组转int数组
//字符串数组(源数组) string[] sNums = new[] {"1", "2"}; //整型数组(目标数组) int[] iNums; //转换方法 ...
- java 中多播、广播编程
在 IP 协议层,有多播.广播的概念.IP 地址分为网络地址和主机地址,主机地址全部为1,就是广播地址.多播使用 D 类地址,从 224.0.0.0 到 239.255.255.255.IP 多播需要 ...
- linux文件软链接、硬链接
在linux ext2文件系统中,一个文件的属性存放在inode中,而数据存放在block中.每个文件占用一个inode,inode中记录了文件的权限和block地址,通过inode可以定位到bloc ...
- Qt之获取子部件
Qt5.10 QList<QObject*> list_children = this->children(); for(int i=0;i<list_children.siz ...