java中成员变量和局部变量的区别是什么? 作用域不同,局部变量的作用域仅限于定义它的方法,在该方法外无法访问它。成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它,如果访问权限允许,还可以在类外部使用成员变量;初始值不同,对于成员变量,如果在类定义中没有给它赋予初始值,Java会给它-个默认值,基本数据类型的值为0,引用类型的值为null。但是Java不会给局部变量赋予初始值,因此局部变量必须要定义赋值后再使用;在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量;局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级。 抽象类(abstract class)和接口(interface)有什么区别? 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口。 Java 异常处理中关键字:throws, throw,try, catch, finally分别代表什么意义? Java的异常处理是通过5个关键词来实现的: try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finaly)由缺省处理器来处理。用try来指定一块预防所有“异常”的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的“异常”的类型。throw 语句用来明确地抛出一个“异常”。throws用来标明一个成员函数可能抛出的各种“异常”。Finally为确保一段代码不管发生什么“异常”都被执行一段代码。 面向对象的特点有哪些? 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要 3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4.多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 举例说明常见的异常有哪些? Exception异常层次结构的根类。 ArithmeticException算术错误情形,如以零作除。 Array IndexOut OfBoundsException数组下标越界。 Nul.lPoint.erExc.eption.尝试访问null对象成员。 ClassNotFoundException, 不能加载所需的类。 InputMi.smatchException,欲得到的数据类型与实际输入的类型不匹配。 .l.legalArgumentException方法接收到非法参数。 ClassCastException.对象强制类型转换出错。 NumberFormatExcep.tion,数字格式转换异常,如把”abc.”转换成数字。
83、java中成员变量和局部变量的区别是什么? |
答:作用域不同,局部变量的作用域仅限于定义它的方法,在该方法外无法访问它。成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它,如果访问权限允许,还可以在类外部使用成员变量;初始值不同,对于成员变量,如果在类定义中没有给它赋予初始值,Java会给它一个默认值,基本数据类型的值为0,引用类型的值为null。但是Java不会给局部变量赋予初始值,因此局部变量必须要定义赋值后再使用;在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量;局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级。 |