public class c2 { public static void main(String[] args){ c2 c =new c2(); People p1= new People(); Student s1=new Student(); s1.study(); } static class People { public People(){ System.out.println("人"); } public String name; public static void swim(){ System.out.println("游泳"); } public void eat(){ System.out.println("吃饭"); } public void run(){ System.out.println("跑步"); } } static class Student extends People{ public Student(){ // super(); 此处写不写都一样 System.out.println("学生"); } public void study(){ System.out.println("学习"); eat();//调用子类的eat super.eat();//调用父类的eat //super可以在实例方法中调用子类中被重写的方法 } @Override//加上注解后可以检查父类的方法是否写错,注释特点可读性好,安全,优雅~ public void eat(){ System.out.println("学生吃的多");//方法重写 } // @Override //此处方法名与父类的不一样,报错提示 public void run1(){ System.out.println("学生跑步"); } public int id; // @Override public static void swim(){ }//静态方法不能被重写,因为静态方法只能用于自己的类,不能重写,单独写一样的方法相当于写了个新的静态方法,而不是重写 }
} public static void go(Dog a,int op){//引用类型作为方法的参数 System.out.println(“开始”); a.run(); System.out.println(“结束”); } public void eat(int age,String name){ this.age=age;
this.name=name; }
public static Dog createDog(){ Dog taidi = new Dog();//创建一个新的对象,如下面的int和boolean类型,因为需要返回值 return taidi; } //引用类型作为返回值 public static int madeDog(){ int abc=1; return abc; }
public static boolean sexDog(){ return true; } //通过引用类型创建方法 static class Dog{ public void run(){ System.out.println(“狗跑步”); } } //创建类 }