Java面向对象之构造函数 入门实例
一、基础概念
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面向对象之构造函数 入门实例的更多相关文章
- Java面向对象之封装 入门实例(一)
一.基础概念 (一)面向对象的三大特征: 1.封装 2.继承 3.多态 (二)封装:隐藏实现细节,对外提供公共的访问方式(接口). 封装的体现之一:将属性都 ...
- JavaSE学习总结(四)——Java面向对象十分钟入门
面向对象编程(Object Oriented Programming,OOP)是一种计算机模拟人类的自然思维方式的编程架构技术,解决了传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题.Ja ...
- java 消息机制 ActiveMQ入门实例
1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ 我下载的时候是 ActiveMQ 5.14.0 Release版 2.运行ActiveMQ 解压缩ap ...
- java面向对象的构造函数
当使用new来创建一个对象的时候,其实是调用了一个函数,这个函数的名称叫做构造函数 构造函数的特点: 1.构造函数的名称必须和类名完全一致,包括大小写. 2.构造函数不写返回值,不写返回值意味着连vo ...
- Java消息机制 ActiveMQ入门实例
转载自:http://www.cnblogs.com/wyh3721/p/5917316.html 1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ ...
- Java 面向对象之构造函数和 this 关键字
构造函数 this 关键字 1. 构造函数 class Person { private String name; private int age; // 定义一个 Person 类的构造函数 Per ...
- Java面向对象之USB接口实例
一.需求: 1.在电脑上设置一个USB接口. 2.电脑运行时,将鼠标连接到接口上,鼠标可以使用自己的功能. 3.电脑运行时,将键盘连接到接口上,键盘可以使用自己的功能.(使用接口的作用:减低鼠标.键盘 ...
- java远程调用rmi入门实例
RMI是Java的一组拥护开发分布式应用程序的API.RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol). ...
- Java面向对象接口的应用实例练习
interface USB { public void open(); public void close(); } class Upan implements USB { public void o ...
随机推荐
- SDP(13): Scala.Future - far from completion,绝不能用来做甩手掌柜
在前面几篇关于数据库引擎的讨论里很多的运算函数都返回了scala.Future类型的结果,因为我以为这样就可以很方便的实现了non-blocking效果.无论任何复杂的数据处理操作,只要把它们包在一个 ...
- Angular开发实践(一):环境准备及框架搭建
引言 在工作中引入Angular框架将近一年了,在这一年中不断的踩坑和填坑,当然也学习和积累了很多的知识,包括MVVM框架.前后端分离.前端工程化.SPA优化等等.因此想通过Angular开发实践这系 ...
- 使用CoreRT将.NET Core发布为Native应用程序
在上一篇文章<使用.NET Core快速开发一个较正规的命令行应用程序>中我们看到了使用自包含方式发布的.NET Core应用中包含了216个文件.我就写一个cat命令用得着这么动真格.. ...
- 用JAVA进行Json数据解析(对象数组的相互嵌套)
这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相 ...
- 使用Java理解逻辑程序
1.Java常见的注释有哪些,语法是怎样的? 1)单行注释用//表示,编译器看到//会忽略该行//后的所文本 2)多行注释/* */表示,编译器看到/*时会搜索接下来的*/,忽略掉/* */之间的文本 ...
- JavaScript(第三十三天)【总结:封装基础前端框架】
源码地址:https://github.com/whisper540/Base
- Beta冲刺第三天
一.昨天的困难 没有困难. 二.今天进度 1.林洋洋:修改权限相关的资源表示,修复flex布局排版高度问题,修复文件更新问题,去除登录页面的默认账号密码,服务器部署. 2.黄腾达:修复日程首次执行时间 ...
- choose the max from numbers, use scanf and if else (v1:21.9.2017,v2:23.9.2017)
#include<stdio.h> int main(){ int a,b,c,max; printf("请输入一个数值: "); scanf("%d&quo ...
- python每日一函数 - divmod数字处理函数
python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...
- 2017-2018-1 我爱学Java 第一周 作业
构建之法 成员及分工 内容简介 作者简介 分章学习及问题 第一章 概论 第二章 个人技术和流程 第三章 软件工程师的成长 第四章 两人合作 第五章 团队和流程 第六章 敏捷流程 第七章 实战中的软件工 ...