标签:system extend extends 隐式 构造方法 父类 int src 错误
1、继承的初始化顺序:
父类—>父类的初始化对象中的属性—>父类的构造方法—>子类—>子类的初始化对象中的属性—>子类的构造方法
若有构造方法:则先执行属性,再执行构造方法
若构造方法中没有对name属性进行赋值,则name的值为类属性所赋的值
package com.wangcf; //父类 public class Animal { public String name="属性的初始化"; public int age; public void eat(){ System.out.println("动物可以吃东西"); } public Animal(){ name="构造方法的初始化"; System.out.println("父类的构造方法执行了"); } }
package com.wangcf; //子类 public class Bridge extends Animal{ public String name="子类属性"; public Bridge(){ System.out.println("子类的构造方法执行了"); } }
package com.wangcf; //测试类 public class Test { public static void main(String[] args) { Bridge bri=new Bridge(); //测试初始化顺序 System.out.println(bri.name); //测试属性的赋值方式 System.out.println("============="); Animal ani=new Animal(); System.out.println("输出值为:"+ani.name); //测试属性的赋值方式 } }
2.fianl
可以修饰类,则该类不能被继承
可以修饰方法,则该方法不能被重写
可以修饰属性:则该类的属性不会进行隐式的初始化,也就是必须赋值final int a=1,正确;fianl int a;错误
或者在构造方法中赋值
以上两种方式选择一种
可以修饰变量:则只可以赋值一次,那么就是常量了
标签:system extend extends 隐式 构造方法 父类 int src 错误
原文地址:http://www.cnblogs.com/-beauTiFul/p/6520447.html