core java重难点总结

core java重难点总结

ID:37844697

大小:75.00 KB

页数:10页

时间:2019-06-01

core java重难点总结_第1页
core java重难点总结_第2页
core java重难点总结_第3页
core java重难点总结_第4页
core java重难点总结_第5页
资源描述:

《core java重难点总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一.abstractclass和interface1.abstract1)含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。2)含有abstract方法的类必须定义为abstractclass,abstractclass类中的方法不必是抽象的。3)abstractclass类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。4)如果子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。2.interface接口(int

2、erface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为publicabstract类型,接口中的成员变量类型默认为publicstaticfinal。两者的语法区别:1.抽象类可以有构造方法,接口中不能有构造方法。2.抽象类中可以有普通成员变量,接口中没有普通成员变量3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。4.抽象类中的抽象方法的访问类型可以是public,protected,但接口中的抽象方法只能是public类型的,并且默认即为

3、publicabstract类型。5.抽象类中可以包含静态方法,接口中不能包含静态方法6.抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是publicstaticfinal类型,并且默认即为publicstaticfinal类型。7.一个类可以实现多个接口,但只能继承一个抽象类。二.String和StringBufferString初始化:1.Stringstr="abc";2.Stringstr=newString("abc");”abc”对应一个对象,这个对象放在字符

4、串常量缓冲区,常量”abc”不管出现多少遍,都是缓冲区中的那一个。而用关键字new调用构造器,就创建一个新的对象,无论内容是否相同。它依据那个常量”abc”对象的内容来创建出一个新String对象。如果以前就用过“abc”,这句代表就不会创建”abc”自己了,直接从缓冲区拿。Strings=newString("xyz");创建了几个StringObject?s="a"+"b"+"c"+"d";创建了几个对象?javac编译可以对字符串常量直接相加的表达式进行优化,不必要等到运行期去进行加法运算处理,而是在编译时去掉其中的加号

5、,直接将其编译成一个这些常量相连的结果。s1="a";s1=s1+"b";创建了几个对象?String是final类,不可改变,只能重新创建对象。StringBuffersb=newStringBuffer();sb.append("a").append("b");创建了几个对象?StringBufrfersb=newStringBuffer();三.静态变量和实例变量在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会

6、被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。四.Static方法是否可以从一个static方法内部发出对非static方法的调用?不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当

7、一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。五.Overload和Override覆盖要注意以下的几点:1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;4.覆盖的方法的访问权限

8、只能比父类的相同或更大。5、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。重载要注意以下的几点:1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。