构造方法中为final修饰的属性赋值

来源:9-5 Java 中的 final 的使用

司空曙

2015-08-19 15:05

public class Father {

final int g;

public Father(){

g=4;

System.out.println("father1类无参数构造方法已执行");

System.out.println();

}

public Father(String newSex,double newB1,float newD1){

System.out.println("father1类有参构造方法已执行");

g=4;

System.out.println();

}

为什么在两种构造方法中都要为g赋值??不能只在一个构造方法(无参数或有参数)中赋值呢??

写回答 关注

3回答

  • 慕虎2360059
    2022-07-25 00:59:03

    你的代码没有问题,很正确啊

    wgint

  • 慕仔9151431
    2022-07-08 08:01:05

    只认真的学习着python,比较不出来

    mdusveeowtomrlljjvkvvv

  • crazy_qln
    2015-08-19 16:02:00

    构造方法  在实体初始化时 只会调用一个构造方法, 只在一个中 初始化 g  你调用别的构造方法  g 是不会被初始化的

    司空曙 回复司空曙

    我试过了,在有参或无参构造方法中都要赋值语句。可以赋不同的值 public Friends(){ b=8; score1=7; System.out.println("父类的无参构造方法已执行,为score1赋值"); System.out.println(); } public Friends(int a,int score1){ b=4; this.a=a; this.score1=score1; System.out.println("父类的有参构造方法已执行,为a,score1赋值"); } 可以通过编译。

    2015-08-20 09:23:59

    共 2 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530099 学习 · 6086 问题

查看课程

相似问题