导航:首页 > 编程语言 > java初始化基类

java初始化基类

发布时间:2024-10-02 20:47:35

A. java面试 碰到过哪些异常

算术异常:ArithmeticException
空指针异常:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下表越界异常:
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
抽象方法错误,当应用试图调用抽象方法时抛出:java.lang.AbstractMethodError
用来指示一个断言失败的问题:java.lang.AssertionError
类循环依赖错误:java.lang.ClassCircularityError
类格式错误:java.lang.ClassFormatError
所有错误的基类,用于标识严重的程序运行问题:java.lang.Error
初始化程序错误:java.lang.ExceptionInInitializerError
违法访问错误:java.lang.IllegalAccessError
不兼容的类变化错误:java.lang.IncompatibleClassChangeError
实例化错误:java.lang.InstantiationError
内部错误:java.langInternalError
连接错误:java.lang.LinkageError
未找到类定义错误:java.lang.NoClassDefFoundError
域不存在错误:java.lang.NoSuchFieldError
方法不存在错误:java.lang.NoSuchMethodError
内存不足错误:java.lang.OutOfMemoryError
堆栈溢出错误:java.lang.StackOverflowError
线程结束:java.lang.ThreadDeath
未知错误:java.lang.UnknownError
未满足的链接错误:java.langUnsatisfiedLinkError
不支持的类版本错误:java.lang.UnsupportedClassVersionError
验证错误:java.lang.VerifyError
虚拟机错误:java.lang.VirtualMechineError
算术条件异常:java.lang.ArithmeticException
数组索引越界异常:java.lang.
数组存储异常:java.lang.ArrayStoreException
类造型异常:java.lang.ClassCastException
找不到类异常:java.lang.NotFoundException
不支持克隆异常:Java.lang.CloneNotSupportedException
枚举敞亮不存在异常:java.lang.
根异常:java.lang.Exception
违法的访问异常:java.lang.IllegalAccessExcetion
违法的监控状态异常:java.lang.IllegalMonitorStateException
违法的状态异常:java.lang.IllegalStateException
违法的线程状态异常:java.lang.IllegalThreadStateException
索引越界异常:java.lang.IndexOutOfBoundsException
实例化异常:java.lang.InstantiationException
被中止异常:java.lang.InterruptedException
数组大小为负值异常:java.lang.NegativeArraySizeException
属性不存在异常:java.lang.NoSuchFieldException
运行时异常:java.lang.RuntimeException
安全异常:java.lang.SecurityException
类型不存在异常:java.lang.TypeNotPresentException

B. java中的复用类是什么意思

代码复用能够大大简化我们的工作。面向对象的语言中一般是通过对类的重复使用来达到代码复用的目的的,Java也不例外。在Java中,复用类有两种方式,合成(has-a)与继承(is-a)。合成就是在新的类中直接创建旧类的对象,这里我们复用的只是代码的功能而不是它的形式。而继承是在原有的类的基础上建立一个新类,新类具有旧类的形式,但也加入了一些新的特性。这一章介绍的主要就是合成与继承方面的知识。

一、合成所使用的语法

合成的语法很简单,只要把要复用的类的对象的引用直接放到新类里就可以了。当然仅仅这样还是不够的,我们还要创建这个类的对象让那个引用来指向它。因为Java不会帮我们自动创建一个缺省的对象,它只会自动替我们把字段中的引用初始化为null。为引用赋值可以在三个地方,一个就是在定义这个引用的时候,另一个是在构造函数中,第三个地方就是在即将要使用这个对象之前。为了防止忘记在使用前为引用赋值,我们一般应该在前两种场合来创建对象。如果我们要创建的这个对象会花费很大开销,而且又可能不是每次都需要创建它的话,我们可以考虑第三种方式来创建这个对象。

二、继承所使用的语法

继承是Java中的重要部分,因为Java是使用单根体系的(C++不是这样,因为它要保持向C的兼容),所以我们定义的每一个类都是继承自Java中的根类Object类。在定义一个继承自已有的类的类时,要使用extends关键字,其后跟上基类的名字,这样表示新定义的这个类是继承自那个基类。在Java中不允许多重继承(C++中允许),也就是说它不允许一个类拥有多于一个的基类,这点劣势可以用接口来弥补,因为Java允许一个类实现任意多个接口。

一个子类会自动获得基类中的全部字段与方法(那些由访问控制符控制的对子类而言不可见的成员也会获得,只是不可见,用不了),这也就是对基类中代码的复用。除了自动获得自基类的代码外,子类中还可定义新的成员,也可以覆写基类中的方法(所谓覆写指的是方法的声明部分一样但实现不一样),这样可以让相同签名的方法拥有不一样的形为。

因为子类自动拥有了基类的成员,因此在子类中自然就可以调用基类的方法。如果这个方法在子类中被覆写过,那编译器知道你是要调用哪个方法呢?Java提供了super关键字在类中表示该类的基类的引用,我们可以通过这个关键字来明确表示我们要用到的是基类中的成员。如果不写super的话,那编译器将会理解为嵌套调用。

这里有个题外话。在Java程序中常常是用public类中的main()方法做为整个程序的入口。这样的静态main()方法并不是非得要在public类中才能出现的,静态的main()方法可以做所有类的入口(但只能是main(),而不能是其它名字的什么静态方法)。比如一个程序有多个class组成,我们要对其中的某个class进行单元测试时,我们就可以在这个class文件中加入main(),编译后生成这个类的.class文件,在控制台通过java来运行它就是了。

子类继承了一个基类后便拥有了基类中的成员,也就可以通过创建的子类对象来访问基类中可见的成员。Java是怎样做到这一点的呢?在我们创建一个子类对象的时候,这里创建的已经不是一个类的对象了,它还会创建这个类的基类的对象,这个基类的对象创建后被包括在子类的对象中。也就是说创建的子类的对象拥有其基类全部的成员(从这就可以知道为什么可以上传),但是子类对象只能访问基类中它可见的成员。那么在创建一个这样的对象时,子类和基类对象创建的顺序是怎么样的呢?为了能够正确的初始化基类,一般会调用基类的构造函数来进行初始化。Java中在调用子类的构造函数时首先会自动的调用基类的构造函数,并且这样的过程是层层传递的。比如C继承了B,而B又继承了A,在创建C的对象时,C的构造函数会首先调用B的构造函数,这时B的构造函数又会首先调用A的构造函数。(如果基类中没有默认构造函数,编译时就会报错。)但是这里自动调用的都是基类的默认构造函数(无参的),如果我们想调用基类的某个带参数的构造函数又该怎么办呢?上面提到可以用super来代替基类的引用,与在构造函数中通过this调用本类其它构造函数的形式一样,我们可以通过super来调用基类带参数的构造函数,比如“super(i, j)”。与调用本类的其它构造函数一样,对基类构造函数的显示调用也需要放在子类构造函数的最前面,在它之前不能有任何东西,如果基类的构造函数会抛出异常需要捕获的话,就会比较麻烦。

C. java中基类和超类的区别

基类、超类、父类都是一个意思,不同说法而已。

比如:
class B{}
class A extends B{}
这就可以说B是A的基类,B是A的超类,B是A的父类;反过来,A就是B的子类。

补充:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

阅读全文

与java初始化基类相关的资料

热点内容
windows7log文件 浏览:287
小米主题风格在哪个文件夹 浏览:383
苹果屏幕密码设置 浏览:685
内孔怎么编程 浏览:338
tpt文件怎么打开 浏览:584
提供给燃机用户的文件有哪些 浏览:490
少儿编程需要投资哪些 浏览:69
北京少儿编程学校哪个好 浏览:101
jsint比对 浏览:327
spss数据分析是什么 浏览:542
dnf扫黑信工具 浏览:828
word文件ctrlf9 浏览:701
哪个国家有编程的专业 浏览:72
清空全部数据什么意思 浏览:339
卡片式网站是什么意思 浏览:468
jspx文件怎么转成pdf 浏览:709
arcmap怎么建立几何网络 浏览:710
java初始化基类 浏览:651
萌新编程用什么软件好 浏览:574
只知道一个人微博怎么找到他微信 浏览:396

友情链接