一、基础概念

  1.什么时候定义构造函数:

    当对象创建时,需要对象必须具备的内容,通过构造函数完成。

  2.一般函数和构造函数的区别:

    定义上:构造函数只为对象的初始化,只执行一次。一般函数定义对象应该具备的功能。可以被调用多次。

    运行上:构造函数在对象一创建,就会执行。一般函数是只有被对象调用才执行。

  3.构造函数的格式要求:

     (1). 函数名和类名相同。

     (2). 没有返回值类型。

(3). 没有具体的返回值。

  4.构造函数的作用:就是对对象进行初始化。

  5.揭秘:

    (1). class定义的类中,如果没有声明任何构造函数,类中会默认有一个空参数的构造函数。

    (2). 如果在class类中自定义了构造函数,默认的构造函数就没有了。构造函数在类中有多个的情况下,是以重载的形式存在的。

  6.注意:

    (1). 构造函数中也可以有return语句,用于结束初始化动作。

    (2). 构造函数的前面加了void,编译可以通过,但是不再是构造函数,而是一般函数。(建议不要这样写)

二、实例代码

  要求用构造函数的重载来实现,Person对象一旦建立就可能有一个公共的名字,或者有一个自己的名字,或者有一个自己的名字和年龄。并打印出来。

 class Person
{
private String name;
private int age; //多个构造函数在同一个Person类中的重载形式 //定义一个构造函数,用于给Person对象初始化。
//Person 对象初始化就有姓名。
Person(String s)
{
name = s;
}
//Person 对象初始化就有姓名和年龄。
Person (String s,int a)
{
name = s;
age = a;
}
//Person 对象初始化什么也没有,构造一个空参的构造函数。
Person ()
{
name = "bady";
} public void show1()
{
System.out.println("name="+name);
}
public void show2()
{
System.out.println("name="+name+",age="+age);
}
} class PersonDemo2
{ public static void main (String[] args)
{
//对象会自动调用对应的构造函数,进行初始化。
Person p1 = new Person("xiaoming");
p1.show1();
Person p2 = new Person("xiangming",20);
p2.show2();
Person p3 = new Person();
p3.show1();
}
}

三、代码运行

  

Java面向对象之构造函数 入门实例的更多相关文章

  1. Java面向对象之封装 入门实例(一)

    一.基础概念 (一)面向对象的三大特征:      1.封装         2.继承          3.多态 (二)封装:隐藏实现细节,对外提供公共的访问方式(接口). 封装的体现之一:将属性都 ...

  2. JavaSE学习总结(四)——Java面向对象十分钟入门

    面向对象编程(Object Oriented Programming,OOP)是一种计算机模拟人类的自然思维方式的编程架构技术,解决了传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题.Ja ...

  3. java 消息机制 ActiveMQ入门实例

    1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ 我下载的时候是 ActiveMQ 5.14.0 Release版 2.运行ActiveMQ 解压缩ap ...

  4. java面向对象的构造函数

    当使用new来创建一个对象的时候,其实是调用了一个函数,这个函数的名称叫做构造函数 构造函数的特点: 1.构造函数的名称必须和类名完全一致,包括大小写. 2.构造函数不写返回值,不写返回值意味着连vo ...

  5. Java消息机制 ActiveMQ入门实例

    转载自:http://www.cnblogs.com/wyh3721/p/5917316.html 1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/  ...

  6. Java 面向对象之构造函数和 this 关键字

    构造函数 this 关键字 1. 构造函数 class Person { private String name; private int age; // 定义一个 Person 类的构造函数 Per ...

  7. Java面向对象之USB接口实例

    一.需求: 1.在电脑上设置一个USB接口. 2.电脑运行时,将鼠标连接到接口上,鼠标可以使用自己的功能. 3.电脑运行时,将键盘连接到接口上,键盘可以使用自己的功能.(使用接口的作用:减低鼠标.键盘 ...

  8. java远程调用rmi入门实例

    RMI是Java的一组拥护开发分布式应用程序的API.RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol). ...

  9. Java面向对象接口的应用实例练习

    interface USB { public void open(); public void close(); } class Upan implements USB { public void o ...

随机推荐

  1. 问题排查:The requested URL /test/index.jsp was not found on this server

    问题描述 添加一个新模块,部署在服务器上.服务器上还部署有其他模块且访问正常,新模块和其他模块共用同一个域名.服务部署之后,请求如下: http://my.domain.com/test/index. ...

  2. Online Judge(OJ)搭建——1、项目介绍

    项目名 Piers 在线评测 项目需求 用户: 获取题库.题目的相关信息. 在线对代码进行编译.执行.保存.返回运行(编译)结果. 总体题目评测成绩查询. 用户信息服务,包括注册.登录.忘记密码.邮箱 ...

  3. 实现Java线程安全

    一个类如果想要满足线程安全的条件: 每个线程都能正常的执行原子操作,保证得到正确的结果 这个类的对象可以同时被多个线程安全的访问 在每个线程的原子操作都完成后,对象处于合理的状态 一般情况下不可变类总 ...

  4. [JLOI2014] 松鼠的新家

    Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树&q ...

  5. protobuf的下载、编译和使用

    一 背景 工作中临时需要使用 protobuf v3.0.2 做消息格式转换,折腾了很久才搞定,这里特意做一个记录. 二 准备工作 全程使用的电脑为公司的win7 64位旗舰版,已经预先安装VS201 ...

  6. 笔记:Hibernate 持久化类标注说明

    持久化类标注 标注 @Entity:注解声明该类是一个Hibernate的持久化类 标注 @Table:指定该类映射的表 参数 name:指定映射数据库表的名称 参数 uniqueConstraint ...

  7. SpringBoot集成redis的key,value序列化的相关问题

    使用的是maven工程 springBoot集成redis默认使用的是注解,在官方文档中只需要2步; 1.在pom文件中引入即可 <dependency> <groupId>o ...

  8. VB求最大公约数的两个例子

    VB求最大公约数的两个算法 Private Sub Command1_Click() Dim a As Long, b As Long a = InputBox("请输入要求最大公约数的整数 ...

  9. django “如何”系列4:如何编写自定义模板标签和过滤器

    django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码 ...

  10. shell死循环脚本示例

    1.设计一个脚本,监控远程的一台机器(假设ip为192.168.0.28)的存活状态,当发现宕机时发一封邮件给你自己. 提示:1. 你可以使用ping命令   ping -c10 www.baidu. ...