- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA基础知识精华总结
1、 对彖的初始化
非静态对彖的初始化
在创建对象时,对象所在类的所有数据成员会首先进行初始化。
基木类型:mt型,初始化为0。
如果为对象:这些对象会按顺序初始化。
在所有类成员初始化完成Z后,才调用本类的构造方法创建对彖。
构造方法的作用就是初始化。
静态对象的初始化
程序中主类的静态变量会在main方法执行前初始化。
不仅第一次创建对象时,类中的所冇静态变虽都初始化,并且第一次访问某类(注意此时
未创建此类对彖)的静态对彖时,所有的静态变量也要按它们在类中的顺序初始化。
2、 继承吋,对彖的初始化过程
主类的超类由高到低按顺序初始化静态成员,无论静态成员是否为privateo
主类静态成员的初始化。
主类的超类由高到低进行默认构造方法的调用。注意,在调用每一个超类的默认构造方法前,先 进行对此超类进行非静态对彖的初始化。
主类非静态成员的初始化。
调用主类的构造方法。
3、 关于构造方法
类可以没冇构造方法,但如果冇多个构造方法,就应该要冇默认的构造方法,否则在继承此类时, 需要在子类中显式调用父类的某一个非默认的构造方法了。
在一个构造方法中,只能调用-?次其他的构造方法,并且调用构造方法的语句必须是第一条语句。
4、 有关 public、private 和 protected
无public修饰的类,可以被英他类访问的条件是:a?两个类在同一文件中,b.两个类在同一文件夹中, c.两个类在同一软件包中。
protected:继承类和同-?软件包的类可访问。
如果构造方法为private,那么在其他类中不能创建该类的对彖。
5、 抽象类
抽象类不能创建对象。
如果一个类中一个方法为抽象方法,则这个类必须为abstract抽象类。
继承抽彖类的类在类中必须实现抽彖类中的抽彖方法。
抽彖类中可以有抽彖方法,也可有非抽彖方法。抽彖方法不能为privateo
间接继承抽象类的类可以不给出抽象方法的定义。
6、 final关键字
一个对象是常量,不代表不能转变对象的成员,仍可以其成员进行操作。
常量在使用前必须赋值,但除了在声明的同时初始化外,就只能在构造方法中初始化。
final修饰的方法不能被重置(在子类中不能出现同名方法)。
如果声明一个类为final,则所有的方法均为final,无论其是否被final修饰,但数据成员可为珀 也可不是。
7、 接□ interface (用 implements 来实现接 口)
接口中的所有数据均为static和final即静态常量。尽管可以不用这两个关键字修饰,但必须给常量 赋初值。
接口中的方法均为public,在实现接口类屮,实现方法必须可public关键字。
如果使用public來修饰接口,则接口必须与文件名相同。
8、 多重继承
一个类继承了一个类和接口,那么必须将类写在前面,接口写在后面,接口之间用逗号分隔。
接口Z间可多重继承,注意使用关键字extendso
一个类虽只实现了一个接口,但不仅要实现这个接口的所冇方法,还要实现这个接口继承的接口的 方法,接口中的所冇方法均须在类中实现。
9、 接口的嵌入
接口域入类中,可以使用private修饰。此时,接口只能在所在的类中实现,其他类不能访问。
嵌入接口中的接口一定要为publico
10、 类的嵌入
类可以嵌入另一个类中,也可以嵌入接口中。
在静态方法或其他方法中,不能直接创建内部类对彖,需通过手段来取得。手段有两种:
class A {
class B {}
B getB() {
B b = new B();
return b;
}
}
static void m() {
Aa = new A();
A.B ab = a.getB(); // 或者是 A.B ab = a new B();
}
一个类继承了另一个类的内部类,因为超类是内部类,而内部类的构造方法不能白动被调用,这样 就需要在子类的构造方法中明确的调用超类的构造方法。
接上例:
class C extends A.B {
C(){
newA().super(); //这一句就实现了对内部类构造方法的调用。
}
}
构造方法也可这样写:
C(A a) {
a.super();
} //使用这个构造方法创建对象,要写成C c = new C(a); a是A的对象。
11、 异常类
Java中除了 RunTimeException类,其他异常均须捕获或抛出。
java父类与子类间的关系总结
1、 子类会先执行父类构造器内的代码,再执行自身类构造器的代码,最后执行被主函数调用的方法
2、 可以用super();显式地指定继承父类构造器,但super()一定要写在第一行
3、 父类构造器方法设为public或默认为protectedo如设置为私
文档评论(0)