继承,多态,类

来源:互联网 发布:火影忍者数据 编辑:程序博客网 时间:2024/06/05 20:34
<span style="font-size:18px;"> public class Teacher{ //有隐含的构造函数       //public   类名(){}         public Teacher(){System.out.println("执行了构造方法");}//创建对象时调用     //构造函数 的重载方法         public Teacher (String name) {name=name;}       //方法  public 返回类型 方法名(){}       //重载方法:在同一类中,方法名相同,参数的类型、个数、顺序不同的方法。构造函数也可以有重载方法        public void teach(){System.out.println("老师教学1");}//无形参        public void teach(int n){System.out.println("老师教学"+n);}//方法名相同,有形参        public void teach(String name){ System.out.println (name+"老师教学1");}方法名相同, 形参类型不同        public void teach(String name ,int  n){System.out.println(name+"老师教学"+n);}方法名相同, 形参个数不同        public void teach(int  n,String name ){System.out.println(n+"老师教学"+name );}方法名相同, 形参顺序不同   }   继承:子类有父类的非私有的属性和行为。public class 子类名 extends 父类名(){}    public class Student{        //属性        int  age;       String  name;       //行为      public void study(){};   }   public class Middlestudent extends Student{    //已经有属性age和name,行为study.从父类Student 继承而来    //增加新属性和行为      int  weight  ;       public void study(){System.out.println(“中学生学习”);};        public void  eat(){}   }   多态: public class Test{     public static void main(String [] arg){          Student st=new Student();          Student st1=new  Middlestudent();          st.study();          st1.study();     }  } st和st1执行的结果是不同的。像这样,同一类型的对象执行同一方法,结果不同,就称为多态。 多态的前提:1.继承 2.方法重写 方法重载与方法重写是有区别的。 方法重载是同一类中,方法名相同,参数的类型、个数、顺序不同。构造方法有重载 方法重写是在继承的前提下,定义一个与父类相同的方法(返回类型、参数类型、个数、顺序相同),构造方法没有重写   方法:1.构造方法2.普通方法 3.抽象方法  </span>
<span style="font-size:18px;">        类:1普通类:有构造方法和普通方法,一定没有抽象方法。可实例化对象 2.抽象类:有构造方法和普通方法,一定有抽象方法,不可实例化对象        3.接口:只有抽象方法,不可实例化对象。 有两个或两个以上的类有相同的方法,但是实现功能不一样,就可以定义接口,在需要使用该方法的类中去实现,就可以使代码简洁。</span>

0 0