`
jishublog
  • 浏览: 868924 次
文章分类
社区版块
存档分类
最新评论

暑假短跑第一步,“却湿”纸尿裤

 
阅读更多

1. instanceof判断其左边对象是否为其右边类的实例,返回boolean类型的数据。

2.String 类

(1) 对于两个字符串的比较,“==”比较地址,而equals比较内容。

(2) 字符串池:如果没有用new创建新的对象,分配新的内存空间,该字符串便被存放于字符串池中,如果字符串池中已经有该内容,则不会再写入。

(3) intern:强行捕获string对象的内容放到字符串池中,即使被分配了内存空间。也就是说,虽然String s = new String ; 但由于s.intern() , s仍被放于缓冲池中。另外,它遵循以下规则:对于任意两个字符串s和t,当且仅当s.equals(t)为true时,s.intern() == t.intern() 才为true。

(4) String (相当于char型数组,final类型,定义后不可变), StringBuffer , StringBuilder(可变,如有内部缓冲区溢出,容量自动增大).

StringBuffer :速度快,不支持同步,不安全。

StringBuilder:支持同步,安全。


3. final不允许子类覆写该方法,如果用了final 就表示父类已经足够完美,不需任何扩展或覆写,只允许别人直接使用。但是也要慎用,原因如下:final 类利用了一个叫inline 的机制,该机制无需进行例行的方法调用(也就节省了断点保存,压栈等操作),而是直接将方法的主体插入到调用处,可节省时间;但是另一方面,如果主体过于庞大,或者多处调用,那么就可能反倒影响了效率。


4.主函数为什么是静态的

因为系统会自动加载静态的方法,而动态的方法会等着被调用时加载。主函数属于程序的入口,自然没有人去调用。


5. 多态:

(1) 方法有多态,属性没多态。

(2) A a = new B ( ); a有两种状态,编译时为A类,执行时为B类。

6. 构造函数与普通函数在子父类关系中的区别:

如果子类重写了父类的方法,调用时只执行子类重写后的方法。但是调用时父类的构造方法都会加载,而且优先于子类载






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics