java面向对象编程(二)-构造方法(函数)
1.类的构造方法介绍
什么是构造方法呢?在回答这个问题之前,我们来看一个需求:我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在我要求,在创建人类的对象时,就直接指定这个对象的年龄和姓名,该怎么做?答案是在定义类的时候,定义一个构造方法即可。
构造方法是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。它有几个特点:
1、方法名和类名相同
2、没有返回值
3、在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化。
特别说明:一个类可以定义多个不同的构造方法。
//例人类构造方法[Demo111.java]
public class Demo111{
public static void main(String []args){
Person p1=new Person(12,"Davis812");//给予不同的初始值,调用的构造方法不同,构造方法虽同名,但系统会根据初始值来选定构造方法。
}
} //定义一个人类
class Person{
int age;
String name;
//默认构造方法
public Person(){
} //构造方法的主要用处是:初始化你的成员属性(变量)
//构造方法1
public Person(int age,String name){
System.out.println("我是构造1");
age=age;
name=name;
} //构造方法2
public Person(String name){
System.out.println("我是构造2");
name=name;
}
}
2.类的默认构造方法
如果程序员没有定义构造方法,系统会自动生成一个默认构造方法。比如Person类
Person (){
};
当创建一个Person对象时Person per1=new Person();默认的构造函数就会被自动调用。
3.类的构造方法小结:
1、构造方法名和类名相同;
2、构造方法没有返回值;
3、主要作用是完成对新对象的初始化;
4、在创建新对象时,系统自动的调用该类的构造方法;
5、一个类可以有多个构造方法;
6、每个类都有一个默认的构造方法。
在提出构造方法后,我们类的定义就应该更加完善了:
class 类名{
成员变量;
构造方法;
成员方法;
}
java面向对象编程(二)-构造方法(函数)的更多相关文章
- Java面向对象编程(二)
上一篇博文里总结了面向对象三大特性在Java中的体现.如今谈一谈Java中的抽象类,接口,内部类等特性. 一. 抽象类 public abstract class Shape { public int ...
- Java面向对象编程基础
一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...
- java面向对象总结(二)
Java 封装 实现Java封装的步骤 java面向对象值继承 概念: 继承的格式: 类和类之间的关系: 继承的特点: 继承的优缺点 继承的好处: 继承的缺点: 继承的注意事项: 使用继承的步骤: J ...
- JAVA面向对象编程课程设计——网络版单机斗地主
一.团队介绍 成员姓名 任务分配 成员课程设计博客链接 兰泽祥(组长) 数据库,斗地主规则的实现,人机自动出牌的算法,实体类的设计 JAVA面向对象编程课程设计--web版斗地主 吴修恩 JSP界面的 ...
- java面向对象编程知识点总结
一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类 ...
- Java面向对象编程(一)
由于常常将Java和C++面向对象编程的原则搞乱,所以这次把相关要点分别总结一下,本文主要总结Java面向对象编程. 面向对象编程的三大特性是:继承性(inheritance), 多态性(polymo ...
- JAVA学习(五):Java面向对象编程基础
Java面向对象编程基础 面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它採用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目 ...
- Python进阶之面向对象编程(二)
Python面向对象编程(二) .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB& ...
- Java面向对象(二、继承)
Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法 ...
- 《Java面向对象编程》
<Java面向对象编程> 第11章 对象的生命周期 11.1 创建对象的方式 用new语句创建对象 运用反射手段,调用java.lang.Class 或者 java.lang.Const ...
随机推荐
- vue条件语句v-if、v-else、v-else-if用法
vue条件语句v-if.v-else.v-else-if用法 v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建.v-if 也是惰性的:如果在初始渲 ...
- python学习教程,史上最全面的python学习路线图
Python 是Web 开发.游戏脚本.计算机视觉.物联网管理和机器人开发的主流语言之一,随着Python用户可以预期的增长,它还有机会在多个领域里登顶.Python学习路线分享给你. 阶段一是Pyt ...
- Python 用户交互程序Input
1.用户交互,用户输入 用户输出命令是input. 设置一个变量并输出. name = input("name:") print(name) 注:python2 下 raw_inp ...
- Linux LVM卷组管理
Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...
- Heroku 云服务部署流程
部署操作: heroic create bluefocus mkdir heroku && cd heroku --------------------- git init herok ...
- Python爬虫(四)——开封市58同城数据模型训练与检测
前文参考: Python爬虫(一)——开封市58同城租房信息 Python爬虫(二)——对开封市58同城出租房数据进行分析 Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析 数据的构建 ...
- 解决apache httpd列出目录列表中文乱码问题
问题: 找了好几个方法都不对, 很多都是说修改AddDefaultCharset字段的, 下面是新的方法, 新测可行 在httpd.conf下, 随便找个地方把下面这个字段扔上去, 重启即可 Inde ...
- Python3 tkinter基础 OptionMenu 将list导入下拉列表中
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Cmd Markdown 编辑阅读器
我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,Cmd Markdown 是我们给出的答案 -- 我们为记录思想和分享知识提供更专业的工具. 您可以使用 Cmd ...
- Flutter - BottomNavigationBar底部导航栏切换后,状态丢失。底部
import 'package:flutter/material.dart'; import './pages/home_page.dart'; import './pages/book_page.d ...