This():当前类的对象,super父类对象。
Super():在子类访问父类的成员和行为,必须受类继承规则的约束
而this他代表当前对象,当然所有的资源都可以访问.
在构造函数中,如果第一行没有写super(),编译器会自动插入.但是如果父类没有不带参数的构
造函数,或这个函数被私有化了(用private修饰).此时你必须加入对父类的实例化构造.而this就
没有这个要求,因为它本身就进行实例化的构造.
而在方法中super和this使用的方法就差不多了.只不过super要考虑是否能访问其父类的资源.
Public:不同包、同一包、类内都可用
Protected:不同包的子类、同一包、类内都可用
3、编程输出如下图形。
21、java中会存在内存泄漏吗,请简单描述。
会造成溢位,导致错误。
22、java中实现多态的机制是什么?
静态的多态:方法名相同,参数个数或类型不相同。(overloading)
子类覆盖父类的方法,将子类的实例传与父类的引用调用的是子类的方法
实现接口的实例传与接口的引用调用的实现类的方法。
23、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
垃圾收集主要针对的是动态内存,一般当内存不够用时会进行垃圾收集。
或通过System.gc()手动收集,但不保证一定执行。
24、静态变量和实例变量的区别?
静态方法可以调用静态变量。
实现方法可以调用静态变量、实例变量
25、是否可以从一个static方法内部发出对非static方法的调用?
不可以,如果其中包含对象的method();不能保证对象初始化.
26、写clone()方法时,通常都有一行代码,是什么?
Clone有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。
try块中可以抛出异常吗?
Try:执行部分,产生异常
Finally:不管有没有异常都执行
Throws:在方法声明处声明要抛出的异常,调用者必须对其进行处理。
在try中可以抛出异常,一般与声明的异常相同。
//相邻两个数比较,将最小或最大的放到后面,最后面数的不参与比较
String:长度给定不可变,当多个字符串联合时要先转为StringBuffer,再联合,速度慢。
StringBuffer:长度可变,可以将多个字符串值直接联合,效率高
30、用java代码编写堆栈