//只实现了一个breath()方法,没实现所有的方法,则是抽象类
abstractclassLendAnimalimplementsAnimal
{
publicvoidbreath();
}
//也可以实现多个接口,Person是一个外部文件,外部类
classStudentextendsPersonimplementsRunner
{
publicvoidrun();
}
类对象insteadof类名
判断是否是所属关系
equals(Objectobj);判断两个对象是否相同
Stringname;
publicbooleanequals(Objectobj)
{
Studentst=null;if(objinsteaceofStudent)//比较是否是Student对象
{
st=(Student)obj;
if(st.name=name)
returntrue;
}
else
returnfalse;
}
面向对象--------------多态
1应用
程序不必为每一个派生类(子类)编写功能调用,只需要对抽象基类进行处理即可,以不变应万变
提高可复用性
2,派生类可以被基类引用,即向后兼容性
%%%匿名内部类:%%%
匿名内部类只用一次!!
classA{
classBimplementsC
{
方法1;
方法2;
}
}
首先调用函数
调用方法(传递一个对象newPCI())
子类的实现代码放入newPCI(){代码在这里方法1,方法2}
异常:
java程序中的非致命错误。。throwException
对有可能发生异常的地方包含try{}
catch(Exceptione)
{}
ArithmeticException算术异常关键字
//此处抛出异常
classTest
{
//扔出的异常可以叠加
publicintdevide(intx,inty)throwArithmeticException,DevideByMinusException
{
if(y<0)
thrownewDevideByMinusException("devisoris"+y);
intresult=x/y;
returnresult;
}
/*voidfun()
{
try
{
if(x==0)
thrownewXxxException("xxx");
else
thrownewYyyException("yyy");