总结:
package com.addd; //构造方法不能被继承,只能是调用 //属性不能被继承,方法可以 //关于继承练习啊 class fjdsk { String name; int age; public fjdsk() { name = "杰伦"; age = 33; } public fjdsk(String a, int b) { name = a; age = b; } public void print() { System.out.println("我叫:" + name + ",年龄:" + age); } } // 当子类没有 class Ji extends fjdsk { int classno; // public Ji(){} String name;// 这里的姓名是公共成员变量 public Ji() {// 子类不声明姓名那么父类子类公共。用同一个姓名,否在各用个的。 super("泡泡", 32);// 这里子类还没有声明姓名的属性,这个父类的姓名还是传的参数,而不是"妈妈" name = "浪浪"; age = 20; classno = 1; }// 继承是指对象,直接使用另一个对象的属性和方法。比如水果是父类。它的子类有苹果,葡萄,西瓜,等等。那么子类定义的时候,颜色,属性就不必重新定义了 // 在这里我也发现了,虽然子类中没有name,age,属性,但构造方法传值时,并不报错啊--------子类继承父类的属性 public Ji(String f, int g, int c) {// 子类继承了父类的属性,那么这里的父类的属性值是子类的。因为参数是子类传的参数。 super(f, g);// 如果子类这里有参构造方法参数变了,那么继承里的参数也变了。 name = f; age = g;// 运行结果显示,父类的姓名和年龄都来自与子类无参构造方法。因为父类的构造方法我也不知道,为什么不用, classno = c; } // /父类的无参构造方法这里子类直接使用了 public void sprint() { System.out.println("class:Ji" + "姓名是:" + name + "年龄是:" + age + "课程编号是:" + classno); } } package com.addd; //进行测试 public class Testk { public static void main(String[] args) { Ji j=new Ji(); Ji j2=new Ji("章矛",32,2); j.sprint(); j.print(); j2.sprint(); j2.print(); } } // class:Ji姓名是:浪浪年龄是:20课程编号是:1 我叫:泡泡,年龄:20 class:Ji姓名是:章矛年龄是:32课程编号是:2 我叫:章矛,年龄:32