第七章总结

一、继承

1、Java语言每一类只能继承一个父类

2、关键词为:extends

3、所以类的构造方法第一行都有一个隐藏的“super();”

      作用是在执行该构造方法之前调用其父类构造方法

例7.1

3adee56854664f4a83e9954c822dc570.png

870e5fac91f143f5ba6927d1b1df28e0.png 

81f8be5afea145339d9ca283e268da24.png 

d76ab2a38eef430ab8f90ec5cc0e5496.png 

例7.2

 

public class Telephone {
	String button ="button:0~9";
	void call() {
		System.out.println("开始拨打电话");
	}
}

 

public class Moblie extends Telephone {//手机类继承电话类
 String screen = "screen:液晶屏";//成员属性,液晶屏幕
 
}

public class Demo2 {
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Moblie motto = new Moblie();//子类调用父类属性
  System.out.println(motto.button);//子类调用父类没有的属性
  System.out.println(motto.screen);//子类调用父类方法
  motto.call();
 }
 
}

e81189bccb4540daa969fe10b3270684.jpeg

二、Object类

1、getClass()方法

getClass()方法是Object类定义的方法,它会返回对象执行时的Class实例,然后使用此实例调用getName()方法可以取得类的名称。

2、toString()方法

返回参数相同,方法名相同,传入参数相同,方法体不同

将一个对象返回为字符串形式,它会返回一个string 实例。当这个类换为字符串或与字符串连接时,将自动调用重写的toString()方法。

例7.3 

c59635c5496c431ba56e3b8d96c923e9.png

3、equals()方法

 在Java语言中,有两种比较对象方式,分别为”==“运算符与equals()方法。equals()方法比较的是两个对象的实际内容。

例7.4

a44b94bbbc0041e7855040f994c12318.png

b02b158e2c8f4bc8a873413b4a88b696.png 

403e532a109d403f97b8a9ec8ec2f8b4.png 

三、对象类型的转换

1、向上转型

将子类类型的对象转换为父类类型的对象

2、向下转型

将父类类型的对象转换为子类类型的对象

需要借助强制类型转换 

例7.6

e5509daffe6445cba882360529ea0c5f.png

四、方法的重载

方法名相同,参数不同

例7.8

4fddcedffa2d4e9482bbb48e2397e33c.png

0630cd4347e2416993d3adb8b86be0e3.png 

 

例7.9

7e7f1075b74d4eea822da60753e27d05.png

86f99f95ae7b4afe95f7256f7fde4716.png 

五、final关键字

1、final修饰变量——不可以被修改(常量)

例7.10

232500e53c6049b48a179c3dcdc9362e.png

2、final修饰方法——不可以被重写

例7.11

a721795abcc3495c8ef4d4660177ac45.png 

3、final修饰类——不可以被继承

六、instanceof关键字

对象名 instanceof类名 

判断该对象是否属于该类或其子类

例7.7

74348af5e01f497b9e3b49ff6cd97661.png 

f2cf3cf031b549ee9c6ae34940f827cf.png 

七、多态

例7。12

c000dbad3dfb4aa3910148ca564690c6.pngfe15ea90ee0e4c8e93cc68ca75f8e81a.png

八、接口

抽象方选没有方法体,这个方法本身没有任何意义,除非它被重写,而承载这个抽象方法的抽象类必须被继系。实际上抽象类除了被继承没有任何意义。

只要类中有一个抽象方法,此类就被标记为抽象类。抽象类被继承后需要实现其中所有的抽象方法,也就是保证以相同的方法名称、参数列表和返回值类型创建出非抽象方法,当然也可以是抽象方法。下图说明了抽象类的继承关系。

接口所有方法都是抽象方法

修饰符inter face 接口名{}实现implements

 java语言每个类可以实现多个接口  

修饰符 class 类名 implements 接口1,接口2,接口3,.....{}  

接口是抽象类的延伸,可以将它看作是纯粹的抽象类,接口中的所有方法都没有方法体。对于7.8.1节中遗留的问题,可以将draw()方法封装到一个接口中,使需要draw()方法的类实现这个接口,同时也继承图形类,这就是接口存在的必要性。在图7.11中,描述了各个子类继承图形类后使用接口的关系。

public:接口可以像类一样被权限修饰符修饰,但public关键字仅限于接口在与其同名的文件中被定义。  

interface:定义接口关键字。

 Paintable:接口名称。  

一个类继承一个父类的同时再实现一个接口。

例7.13

interface Paint{//可绘制接口
    public void draw();//绘制抽象方法
}
class Qu{//四边形类
    public void doAnytihing() {
        System.out.println("四边形提供的方法");
    }
}
//平行四边形类,继承四边形类,并实现可绘制接口
class Par extends Qu implements Paint{
    public void draw() {
        //由于该类
        System.out.println("绘制平行四边形");
    }
}
//正方形类,继承四边形类,并实现可绘制接口
class Sq extends Qu implements Paint{
    public void draw() {
        System.out.println("绘制正方形");
    }
}
//圆形类,仅实现可绘制接口
class Cir implements Paint{
    public void draw() {
        System.out.println("绘制圆形");
    }
}
public class Pa {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Sq s=new Sq();
        s.draw();
        s.doAnytihing();
        Par p=new Par();
        p.draw();
        p.doAnytihing();
        Cir c = new Cir();
        c.draw();
    }
 
}

4d21f13b45a04d0fa31cd85e56063e39.png

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值