面向对象(一)

一、多态
在同一个方法中,这种用于参数类型不同而导致执行效果各异的现象就是多态。
在Java中为了 实现多态,允许使用一个父类类型的变量来引用一一个子类类型的对象,根据被引用子类对象特征的不同,得到的运行结果。

二、对象的类型转换

在多态的学期中,涉及到将子类对象当作父类类型使用的情况;
(1)animal an1= new Cat (); // 将cat对象当作Animal类型来使用
(2)Animal an2= new Dog();// 将dog对象当作Animal类型来使用z

注: 子类对象当着父类使用时不需要任何显式地声明。

Public statie void animalshout (Antmal animal) {

Cat cat= (Cat) animal; //将animal对象强制转换为Cat类型

cat.shout(); //调用cat的shout()方法

cat.sleep() ; //调用cat的seep()方法

 }

Public statie void animalshout (Antmal animal) {

Cat cat= (Cat) animal; //将animal对象强制转换为Cat类型

cat.shout(); //调用cat的shout()方法

cat.sleep() ; //调用cat的seep()方法

 }

三、Object类

在JDK中提供了一个Object类,它是所有类的父类,即每个类都直接或间接继承自该类。

四、匿名内部类

如果方法的参数被定义为一个接口类型,那么就需要定义一个类来实现接口,并根据该类进行对象实例化。可以使用匿名内部类来实现接口。

例: 什么是内部类

//定义Animal接口

interface Animal {

void shout(); //定义抽象方法shout()

}

//定义测试类

public class Example {

public static void main (string[] args) {

//定义一_个内部类cat实现Animal接口

class Cat impl ements Animal {

//实现shout()方法

public void shout() {

System.out.println ("喵喵······”);

              }

  }

animalShout(new Cat() ; //调用animalShout()方法并传人Cat对象

//定义静态方法animalshout ()

public static void animalShout (Animal an) {

an.shout() ; //调用传入对象an的shout()方法

     }

}
//定义Animal接口

interface Animal {

void shout(); //定义抽象方法shout()

}

//定义测试类

public class Example {

public static void main (string[] args) {

//定义一_个内部类cat实现Animal接口

class Cat impl ements Animal {

//实现shout()方法

public void shout() {

System.out.println ("喵喵······”);

              }

  }

animalShout(new Cat() ; //调用animalShout()方法并传人Cat对象

//定义静态方法animalshout ()

public static void animalShout (Animal an) {

an.shout() ; //调用传入对象an的shout()方法

     }

}

五、异常

1、在Java语言中,引入了异常,以异常类的形式对这些非正常情况进行封装,通过异常处理机制对程序运行时发生的各种问题进行处理。

2、程序中错误可分三类:(1)编译错误
(2)逻辑错误
(3)运行时错误

3、Error类称为错误类,它表示Java运行时产生的系统内部错误或资源耗尽的错误,是比较严重的,仅靠修改程序本身是不能恢复执行的。

4,、Exception 类称为异常类,它表示程序本身可以处理的错误,在开发Java程序中
进行的异常处理,都是针对Excption类及其子类。在Exception类的众多子类中有一个特殊的RuntimeException类,该类及其子类用于表示运行时异常,除了此类,Exception类下所有其他的子类都用于表示编译时异常。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值