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

继承

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.面向父类编程思想—>先定规则,后坐实现

                    硬代码

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

                             

                    软代码

                              硬写法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值