1.类变量和实例变量的区别?
答:(1)所属不同:类变量属于类,是对象的共性内容;实例变量属于对象,是特性内容。
(2)存储位置不同:类变量随着类的加载存储于方法区;实例变量随着对象的创建存储于堆内存中。
(3)生命周期不同:类变量随着类的加载而存在,随着类的消失而消失;实例变量随着对象的存在而存在,随着对象的消失而消失。
(4)调用方式不同:类变量能够被类名直接调用,有对象的时候也能被对象调用;实例变量只能被对象调用。
2.什么是封装?封装的原则?好处?
答:封装就是把不需要对外暴露的状态信息隐藏在对象内部,不允许外部程序直接访问对象的信息,而是通过该类对外提供公共的访问方式对其访问和操作。
原则:(1)将不需要对外暴露的信息隐藏;
(2)对外提供公共的访问方式。
好处:将变化隔离;提高了安全性;便于使用,提高了重用性。
3.封装就是私有,对吗?为什么?
答:private是封装的一种体现形式。方法也是封装。
4.Java中参数传递的问题:
答:如果是基本数据类型,传递的参数要和形参的类型一致;如果是引用数据类型,那么传递的参数类型和形参的一致,或者是他的子类。
5.static关键字的特点?注意事项是什么?有什么好处和弊端?
答:(1)被static修饰的变量和方法随着类的加载而加载(2)优于对象存在(3)能够被类名直接调用(4)资源共享。
注意事项:静态方法中不可以定义this、super关键字,因为静态优先于对象存在,静态只能覆盖静态。
好处:static能够被类名直接调用,定义的是对象的共性内容,不用每个对象单独定义,节省空间。弊端:生命周期过长。 |
|