您的位置:首页 > 编程语言 > Java开发

java实训第七次课后笔记——继承、多态

2013-07-27 23:02 429 查看
继承

1.继承就是代码的高效复用.

2.继承的好处:  
代码的复用  易于升级和扩展  
为多态做铺垫 

3.继承的功能: 
假如B继承了A

         功能:拥有A的所有方法和属性,可以任意调用除私有外的方法,java里只可以单继承(一个类只能继承一个)

 

class A

{

       publicvoid method1(){

        System.out.println("hello A!");

       }

       publicstatic void main(String[] args)

       {

              Bb=new B();

              b.method1();

       }

运行结果:

Hello B!

 

 
}

class B extends A

{

public void method1(){

        System.out.println("hello B!");

       }

}

4.继承类=子类=派生类

 被继承类=父类=超类

5.使用this实现内部转发,子类继承父类则自动调用无参构造器。

6.super的使用

 class 人

{  String name;

   String sex;

   int age;

  public 人(String name,Stringsex,int age){

    this.name=name;

        this.sex=sex;

        this.age=age;

   }

       publicstatic void main(String[] args)

       { 

             
人 r=new 人("李四","女",12);

             

           System.out.println(r.name);

              System.out.println(r.sex);

              System.out.println(r.age);

             
男人 n=new 男人("小何",20,"学生");

              System.out.println(n.name);

              System.out.println(n.age);

在构造方法中第一条语句(必须在第一条)使用,以调用父类的构造器;

在构造方法或方法中调用父类属性及方法(父类的private属性和方法无法访问)

也就是说子类有构造方法,那么就要在方法体的第一句加上super()

 
              System.out.println(n.type);

             
女人 m=new 女人("小花",20);

              System.out.println(m.name);

              System.out.println(m.age);

              m.化妆();.

              }

}

class 男人  extends
人{

  String type="";

  public男人(Stringname,int age,String type){

   super(name,"男",age);

       this.type=type;

  }

}

class 女人 extends
人{

 public void
化妆(){

 System.out.println("漂亮");}

 public 女人(Stringname,int age){

  super(name,"女",age);

  }

}

7.方法的重写(继承环境):方法名和方法参数相同,表示重新在子类声明与父类方法一模一样的方法,但现实不一样。

 当父类的方法过时了,不适用了,才需要重写父类。但不能删除父类中原本的方法。

8.调用方法或属性时,先考虑子类,后考虑父类,即子类有就先调用子类,子类没有再去从父类中找。

9.

程序员

 
李四

 
  class A{

   String type;

}

name

 
type

 
name

 
type

 
class B extends A{

String name;

B a1=new B();

对象

 

 
对象

 

 
对象

 

 
对象

 
a1.name=”李四”;

a1.type=”程序员”;

a1   a2

 
B a2=new B();

}

10.class A{

  public A(int u){

 System.out.println(“A”+u);

}

}

public class Bextends A{

      public B(){

       super(100000); //声明

}

public B(int i){

super(i);

System.out.println(i);

}

 Public static void main(String[] s){

              Bb=new B(5000);

}

11.class类(属性,方法,静态块,构造器)

   objest对象所有类的祖先---所有类都继承object

12.StringtoString() 
将对象形成字符串

13.Objectclong() 
创建并返回此对象的一个副本

14.booleanequals(object) 
比较

15.对象和对象之间比较是比较属性的值

多态

1.      
子类可以转换成父类

B b=new B();

A a=new B();

2.面向父类编程思想—>先定规则,后坐实现

                   
硬代码

   编程的两种写法            
软写法:易于改代码,易于升级

                             

                   
软代码

                             
硬写法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: