标签:返回值 ring main 重要 log 语言 zed protected 调用
构造器就是和类名相同但无返回类型的方法。用于当前或某一对象的实例化,并将当前或某一对象返回。要得到一个类的实例时,往往是要运行其构造函数的。本篇博客介绍Java面向对象中的构造器(构造方法的用法)。
? 构造器是Java学习中很重要的一个概念,构造器可以提供许多特殊的方法,构造器作为一种方法,负责类中成员变量(域)的初始化。实例构造器分为缺省构造器和非缺省构造器。
修饰符 类名(参数列表){
初始化语句;
}
? 它具有与类相同的名称
? 它不声明返回值类型。(与声明为void不同,void也算是一种返回值类型,空返回类型)
? 不能被static、final、synchronized、abstract、native修饰,可以被权限修饰符(public,protected,default(缺省)、private)修饰,不能有
return语句返回值
? 构造器最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。如果想改变这种默认的初始化,就可以通过自定义构造器来实现。
? 构造器是一种特殊的方法,所以是可以重载的
根据参数不同,构造器可以分为如下两类:
? 隐式无参构造器(系统默认提供)
? 显式定义一个或多个构造器(构造器的重载)
注意:
? Java 语言中,每个类都至少有一个 构造器(不写的话系统默认提供)
? 默认构造器的权限修饰符与所属类的修饰符一致
? 一旦显式定义了构造器,则系统不再提供默认构造
? 一个类可以创建多个重载的构造器
? 父类的构造器不可被子类继承
? 构造器一般用来创建对象的同时初始化对象
? 构造器重载使得对象的创建更加灵活,方便创建各种不同的对象
? 构造器重载,参数列表必须,与方法的重载一致
public class ConstructorTest {
public static void main(String[] args) {
/*
在创建Dog类的实例时:Dog d = new Dog();
系统自动调用构造器将属性初始化
*/
Dog d1 = new Dog();
System.out.println("狗狗的名字是" + d1.getName() + "有 " + d1.getLegs() + "条腿");
Dog d2 = new Dog("圆圆" , 4);
System.out.println("狗狗的名字是" + d2.getName() + "有 " + d2.getLegs() + "条腿");
}
}
class Dog{
private int legs;
private String name;
//Dog类的构造器,权限为public
public Dog(){
//初始化成员变量
legs = 4;
name = "小黑";
}
//构造器的重载
protected Dog(String s,int i) {
legs = i;
name = s;
}
//成员变量的set和get方法
public void setLegs(int i) {
legs = i;
}
public int getLegs(){
return legs;
}
public void setName(String s) {
name = s;
}
public String getName(){
return name;
}
}
/*输出:
狗狗的名字是小黑有 4条腿
狗狗的名字是圆圆有 4条腿
*/
本博客与CSDN博客???Asio君???同步发布
标签:返回值 ring main 重要 log 语言 zed protected 调用
原文地址:https://www.cnblogs.com/asio/p/12387369.html