有参构造方法的作用和无参构造方法的作用

Java无参构造方法的作用
class Person{
private String name ; // 表示人的姓名
private int age ; // 表示人的年龄
public void tell(){ // 定义说话的方法
System.out.println('姓名:' + this.getName() + ',年龄:' + this.getAge()) ;
}
public Person(){
System.out.println('########');
}
public void setName(String n){
name = n ;
}
public void setAge(int a){
if(a>=0&&a<=200){
age = a ;
}
}
public String getName(){
return name ;
}
public int getAge(){
return age ;
}
};
public class OODemo10{
public static void main(String args[]){
Person per = new Person() ; // 实例化对象
System.out.println(per.getName());
System.out.println(per.getAge());
}
};

随便拷贝了一个代码
问题:我知道结果会输出
########
null
0

我们说构造方法(这里指的是有参的构造方法)的主要目的是为了类中的属性初始化,那么无参构造方法的目的

是不是也是这样呢?

并不是这样的,而是因为子类继承父类的时候会自动继承默认的构造函数(这里指无参的构造函数)。而子类里面

已经有一个带有参数的构造函数了,如果没有写那个默认的不带参数的构造函数的话,继承的时候就会报错,因为系

统不知道要继承哪个构造函数,必须明确的使用super()关键字来描述。所以一般为了避免这种错误的发生,在有带多

个构造函数的类里面都会写一个不带参数的构造函数。

(0)

相关推荐

  • Java8排序stream.sorted()

    http://www.concretepage.com/java/jdk-8/java-8-stream- sorted-example 国外对Java8一系列总结的不错, 翻译过来给大家共享 这篇文 ...

  • 无参构造方法的作用

    无参构造方法的作用

  • Java无参构造方法的作用

    无参构造函数,主要用于在子类创建对象时使用,java程序在执行子类的构造方法之前,会去调用父类构造方法,可以显示的指定super()某一个父类构造函数,如未显示指定 super(), public c ...

  • 为什么要有无参构造方法,无参构造的运行原理

    无参构造器也叫无参构造方法,在我们创建类时候,可以不用写构造方法,因为系统会默认给我们提供一个无参构造方法,如果我们自己写了无参构造方法,那么我们这个就将默认的覆盖了. (这时候你可能回想,既然会默认 ...

  • Java子类实例化总是默认调用父类的无参构造方法

    2020-09-06 21:15:12 3点赞 Lucius_Keep_Going! 码龄3年 关注 继承关系的细节 子类拥有父类的属性和方法,但是对于父类的私有属性(private修饰),子类是无权 ...

  • 构造器的作用或者说有参构造和无参构造的区别

    好的,说到构造器,我们先来看一什么是构造器: 最简单直白的话,当你要new一个对象的时候,必须要有构造器才能new出来,类里面默认有无参的构造器,看不到的,当我们要创建一个有参构造的时候,最好也把无参 ...

  • Java中子类在实例化的时候调用父类的无参构造方法

    Java中子类在实例化的时候调用父类的无参构造方法

  • java有参构造方法和无参构造方法

    一.无参构造方法 1.定义: 如果编写一个javaBean时没有添加无参构造方法,那么编译器会自动添加无参构造方法: 但是如果编写时添加了有参构造方法而未添加无参构造方法,那么编译器只认有参构造方法而 ...

  • 为什么要有无参构造方法和无参构造的原理

    下午跟着码项目的时候发现每一个构造器都输入了shift+alt+s了一个无参构造 诸如此类 就自己做了个实验 共有 GrandPa.Father和Son 3个类, 我现在在 main方法里 执行这条语 ...

  • Java为什么要在类中声明一个无参构造方法

    在Java程序编写中,子类的构造方法必定会调用父类的构造方法,如果在子类的构造方法中没有指定调用父类的哪个构造方法,在实例化子类对象时,子类会默认调用父类的无参构造方法.如果在父类中没有定义无参构造方 ...