黑马程序员技术交流社区
标题:
关于构造器的问题
[打印本页]
作者:
叶燕希
时间:
2015-5-29 22:32
标题:
关于构造器的问题
JAVA中定义类时一定要定义一个构造器吗?构造器的作用是什么?能给个实例吗
作者:
Tangtang
时间:
2015-5-29 22:42
本帖最后由 Tangtang 于 2015-5-29 22:50 编辑
在实例化这个类的时候,有调用这个类的默认构造方法,系统默认构造方法是无参的,所有自己不用写。
在系统中你若是定义了有参的构造方法,那么就要把无参的构造方法显示的写出来了,不然就无法再调用无参的构造方法
简单示例:
public class Test1 {
//什么都不写系统会有默认的无参构造方法
}
public class Test1 {
//无参构造方法
public Test1() {
}
//有参构造方法
public Test1(String name) {
}
}
作者:
叶燕希
时间:
2015-5-29 22:48
Tangtang 发表于 2015-5-29 22:42
在实例化这个类的时候,有调用这个类的默认构造方法,系统默认构造方法是无参的,所有自己不用写。
在系统 ...
能给个例子说明吗
作者:
Animal
时间:
2015-5-29 22:49
在系统中你若是定义了有参的构造方法
作者:
jiatengde
时间:
2015-5-29 23:24
新人报道,热血黑马
作者:
李志鹏
时间:
2015-5-30 16:05
class Student{
int age;
public Student(){}//这就是默认的构造函数
public void show(){
System.out.println(age);
}
}
public class Test5 {
public static void main(String[] args) {
Student s = new Student();
s.age = 12;
s.show();
}
}
复制代码
作者:
bin2015
时间:
2015-5-30 17:28
构造器是给对象进行初始化的,如果没有定义那么java虚拟机会给我们加一个无参的,如果存在继承关系,会先调用父类的无参构造器。
//婴儿类
class Baby{
int id; //成员变量
String name;
//构造代码块
{
//System.out.println("构造代码块被调用了.....");
cry();
}
//无参的构造函数
public Baby(){
}
//带参构造函数
public Baby(int i,String n){
id = i;
name = n;
}
public void cry(){
System.out.println("哇哇哇..");
}
}
class Demo4
{
public static void main(String[] args)
{
Baby b1 = new Baby(110,"狗娃");
/*
Baby b1 = new Baby(); //黑户
Baby b2 = new Baby(110,"狗娃"); //白户
//System.out.println("Hello World!");
*/
}
}
复制代码
作者:
zhousuo28
时间:
2015-5-30 18:18
可以不写,但是JVM会默认给你加上一个空参的构造器
作者:
战狼1991
时间:
2015-5-30 18:18
好!不错……:victory:
作者:
绝版坏银
时间:
2015-5-30 18:52
学习学习。。。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2