JAVA内部类与异常类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA内部类与异常类相关的知识,希望对你有一定的参考价值。
内部类
定义
在类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语句
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();
}
}
}
以上是关于JAVA内部类与异常类的主要内容,如果未能解决你的问题,请参考以下文章
20165318 2017-2018-2 《Java程序设计》第五周学习总结