201711671135 《Java程序设计》第七章学习总结

教材学习内容

1.内部类的外嵌类的成员变量在内部类中任然有效,内部类中的成员方法也可以调用外嵌类的方法。内部类的类体中不可以声明类变量和类方法(类变量、类方法,这个是先于对象存在的,在java类被加载到运行环境中的时候,就存在的了,用static关键字修饰的。可以用‘类名.类方法’‘‘类名.类变量’的语法来调用。

class Demo{ 

    int x;       //x是实例变量,也是成员变量 

    static int y; //y为类变量,也是成员变量     

    public int x() {     //该方法为实例方法,是成员方法 

        return x;   

    } 

   public static void setX(int x1){ //该方法为类方法,也是成员方法 

            x = x1;    

   } 

}

内部类对应的字节码文件的名字格式是”外嵌类名$内部类名”

2. 匿名类是不能有名字的类,它们不能被引用,只能在创建时用New语句来声明它们。匿名类的声明是在编译时进行的,实例化在运行时进行,这意味着for循环中的一个new语句会创建相同匿名类的几个实例,而不是创建几个不同匿名类的一个实例。

①继承一个类,重写其方法

②实现一个接口,可以是多个

3.各个catch参数中的异常类都是Exception的某个子类,表表明try部分可能发生的异常,这些子类之间不能有父子关系,否则保留一个含有父类参数的catch即可

Throw可以在方法中声明具体的异常操作,用相应的异常类创建对象,并使用throw抛出该异常对象。

4.断言使用在代码调试阶段,用于程序不准备通过捕获异常来处理的错误

使用assert关键词来声明断奶眼语句

5. java的异常可以出现在方法调试中,即在方法调用过程中抛出异常对象,导致程序运行出现异常,并且等待处理。java 使用Try-catch语句来处理异常,将可能出现的异常操作放在try部分,当try的某个方法发生一场之后,try部分将立即结束执行,转向相应的catch语句部分。

 

教材学习中的问题和解决过程

1.断言在c语言中也有使用,其使用方法经查询如下:

assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行

#include <assert.h>
void assert( int expression );

2.在使用断言语句中,多次无法运行,后来发现是没有使用boolean型的表达式

 

 

代码实现

package Try_Catch;

 

public class Application {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        int n = 0,m =0,t=100;

        try {

            m = Integer.parseInt("8888");

            n = Integer.parseInt("ab89");//发生异常,转向catch

            t = 7777;//t 没有机会赋值

        } catch (Exception e) {

            System.out.println("发生异常:" + e.getMessage());

        }

        System.out.println("n=" + n + ",m="+ m+ ",t=" + t);

        try {

            System.out.println("故意抛出I/O异常!");

            throw new java.io.IOException("我是故意的");//故意抛出异常

        } catch (Exception e) {

            System.out.println("发生异常:" + e.getMessage() );

        }

    }

 

}

猜你喜欢

转载自blog.csdn.net/qq_41102402/article/details/84942530
今日推荐