标签:string 属性 异常 people 子类 应用 声明 pre 匿名类
在类A中声明了类B,B称为内部类,A称为B的外嵌类
需要建立一个类,不想它为外界所用
public class RedCowform{
static String formName = "红牛农场";
Redcow cow;// 声明
public RedCowform(){
cow = new RedCow();
}
class RedCow{
String Name;
int height,weight,price;
RedCow(){
//赋值 可以使用外嵌类的方法
}
}
void speak(){
//输出
}
}
public class NewRedcowform extends Redcowform{
// 能使用redcow的方法
}
内部类也能继承其他类
访问外嵌类的同名变量\方法
Outer.this.name=''
class People{
void print(){
System.out.println("I am a People");
}
}
public class Test{
public static class(){
public static void main(String[] args){
People stu = new People(){
void print(){// 对方法重写
System.out.println("I am a Student");
}
};
}
stu.print();
}
}
Pet newpet = new Pet(){
public void speak(){
System.out.println("sadd");
}
};
newpet.speak();
try{
//包含可能发生异常的语句 发生异常即转向catch
}catch(/*Exception的某个子类*/){
}
public class DangerException extends Exception{
String message;
public DangerException(int n){
message="第"+n+"个物品危险";
}
public void toShow(){
System.out.println(message);
}
}
创造一个Exception的子类
其他
/*抛出异常的处理*/
class Machine{
public void checkBag(Goods goods) throws DangerException {
if(goods.isDanger==true) throw new DangerException(goods.num);
System.out.println("第"+goods.num+"个物品安全");
}
}
/*商品属性*/
class Goods{
boolean isDanger;
int num;
public Goods(boolean m,int n){
isDanger = m;
num=n;
}
}
public class Main{
public static void main(String[] args){
Machine machine = new Machine();
Goods goods = new Goods(false,1);
Goods goods2 = new Goods(false,3);
Goods goods1 = new Goods(true,5);
Goods goods3 = new Goods(false,8);
try{
machine.checkBag(goods);
machine.checkBag(goods2);//继续执行或者抛出异常
machine.checkBag(goods1);
machine.checkBag(goods3);
} catch (DangerException e) {// catch到异常
System.out.println("危险警告!!!!");
e.toShow();
}
}
}
标签:string 属性 异常 people 子类 应用 声明 pre 匿名类
原文地址:https://www.cnblogs.com/smallocean/p/10217531.html