继承
1、继承构造函数:
super(参数)
2、父类与子类的使用:
父类:class A;
子类:class B extends A;
使用:
A a;
B b;
a=new B(); //这里a使用的使用只用调用A(父)类中的方法,以及在B(子)类中重写A(父)类的方法
抽象类(具有扩展性)
1、抽象类的声明(abstract):
public abstract class A{}
2、抽象类中的方法的声明(只需要写方法名就行,不需要写方法体):
public abstract String get_name();
3、使用抽象类(extends):
抽象类的使用,类似于类的继承
但是只要继承抽象类后,子类就必须重写抽象类全部里的方法
例如:
接口(用于解决单继承的方式)
1、接口的声明(interface 只写方法,不写方法体):
public interface A{
public void show();
public abstract void show2();
}
2、接口的使用(implements):
public class B implements A{
@Override
public void show(){
System.out.println(“这里是重写A类的方法体”);
}
@Override
public void show2(){
System.out.println(“这里是重写A类的方法体”);
}
}
抛出异常
1、自定义抛出异常(继承于Exception):
public class AException extends Exception{
//包含构造函数,toStirng方法
}
2、使用异常:
在另一个类中的某一个方法(判断是否符合标准)
public void B(int a) throws AException{
if(a<0){
throw new AException();
}
}
表示在使用这个方法的时候需要try catch
例如:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
DangerException.javapublic class DangerException extends Exception { String message; public DangerException() { message = "危险品!"; } public void toShow() { System.out.print(message+" "); }}Goods.javapublic class Goods { boolean isDanger; String name; public void setIsDanger(boolean boo) { isDanger = boo; } public boolean isDanger() { return isDanger; } public void setName(String s) { name = s; } public String getName() { return name; }} Machine.javapublic class Machine { boolean isDanger; String name; public void setIsDanger(boolean boo) { isDanger = boo; } public boolean isDanger() { return isDanger;// 【代码1】 } public void checkBag(Goods goods) throws DangerException{ if(goods.isDanger==true) throw new DangerException(); }}Check.javapublic class Check { public static void main(String args[]) { Machine machine = new Machine(); String name[] ={"苹果","炸药","西服","硫酸","手表","硫磺"}; Goods [] goods = new Goods[name.length]; //检查6件物品 for(int i= 0;i<name.length;i++) { goods[i] = new Goods(); if(i%2==0) { goods[i].setIsDanger(false); goods[i].setName(name[i]); } else { goods[i].setIsDanger(true); goods[i].setName(name[i]); } } for(int i= 0;i<goods.length;i++) { try { machine.checkBag(goods[i]); System.out.println(goods[i].getName()+"检查通过"); } catch(DangerException e) { e.toShow();//【代码2】 e调用toShow()方法 System.out.println(goods[i].getName()+"被禁止!"); } } } }