------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
class Fu{ public Fu() { System.out.println("Fu类构造函数"); } } class Zi extends Fu{ private String name; public Zi() { //这里默认调用父类的构造函数 System.out.println("Zi类构造函数"); } public Zi(String name) { this();//调用自己的构造函数必须是函数的第一个 this.name = name; } } public class Main { public static void main(String[] args) { new Zi(); new Zi("test"); } }
<span style="font-size:12px;">//父类 class Ainmal{ String name = "Animal"; public void eat(){ } //Ainmal类的静态方法 public static void method(){ System.out.println("Ainmal"); } public void getName(){ System.out.println(name); } } //子类 class Dog extends Ainmal{ String name = "Dog"; //复写eat方法 public void eat() { System.out.println("吃骨头"); } //Dog中的静态方法 public static void method(){ System.out.println("Ainmal"); } public void getName(){ System.out.println(name); } } //子类 class Cat extends Ainmal{ String name = "Cat"; //复写eat方法 public void eat() { System.out.println("吃鱼"); } //Cat中的静态方法 public static void method(){ System.out.println("Ainmal"); } public void getName(){ System.out.println(name); } } public class Main{ public static void main(String[] args) { //向上转型 //父类的引用指向自己的子类对象 Ainmal a1 = new Dog(); //非静态方法 a1.eat(); //静态方法 a1.method(); //成员变量 System.out.println(a1.name); Ainmal a2 = new Cat(); //非静态方法 a2.eat(); //静态方法 a2.method(); //成员变量 System.out.println(a2.name); //向下转型 //父类强制转换成子类 Dog d = (Dog) a1; d.eat(); Cat c = (Cat) a2; c.eat(); } }</span>
interface Eat{ public static final String FOOD="肉"; abstract public void eat(); }
abstract class Animal{ abstract void eat(); }
1. 可以修饰类,函数,变量
2. 被final修饰的类不可以继承
3. 被final修饰的方法不可冲洗
4. 被final修饰的变量.只能赋值一次,不可以修改