- 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语言程序设计基础笔记.doc
类属性、实例属性的区别
*没有static修饰的变量称为实例变量,有static修饰的变量称为类变量(或静态变量)
*类变量只属于类本身,不属于对象
*类变量在整个类中只有一个值
2、静态方法(类方法)
*一个静态方法只属于一个类本身,而不属于某个类
*静态方法和静态变量的 引用直接通过类名引用
*在静态方法中不能调用非静态的方法和引用非静态的成员变量,反之则可以可以用类的对象去调用静态的方法
3、类成员访问修饰符与访问能力之间的关系
*public 无约束
*protected 同一类、子类
*default 同一类、同一包
*private 同一类
4、方法的重载(overloding)与重写(overriding或overwriting)
方法的重写要求方法签名必须相同,而方法的重载要求方法签名必须不同
方法的重写放回类型必须一致,而方法的重 载则没有要求。
异常也不会影响重载,而重写子类的异常必须与父类一样或属于父类异常的一种或无
方法的重写只局限与子类和父类之间,而方法的重载可以在一个类的所有方法之间
方法的重载对类的修饰没有要求,而方法的重写子类方法的修饰限制一定要比父类的小
5、final
6、变量的初始化问题
*局部变量在定义时必须初始化,如果是方法的形参,则通过调用方法时实参的传递初始化(方法的形参也属于局部变量)
*如果是对象的实例变量,则不用必须初始化.系统会默认地为对象的实例变量赋初值,但这样做只能保证程序编译运行正常,而无实际意义.所以一般对象的实例变量要在构造方法中赋初值(boolean 默认为false;char默认为?)
*作为类成员,只能声明时候初始化,否则就要到方法中初始化
7、””和null的区别
8、super
*特殊变量super提供了对父类的访问
*可以使用super访问父类被子类隐藏的变量或覆盖的方法
*每个子类的构造方法的第一条语句都隐含调用super();如果父类没有这种形式的构造函数,那么在编译时会报错
*构造方法不能被继承只通过super调用
9、构造方法
*如果父类没有无参的构造方法,那么在子类中就必须声明构造方法且不能声明无参构造方法;这样子类中的就必须显式调用父类中的某个构造方法;个人觉得如果有继承关系的一般属性定义为protected,个人觉得bean定义为private,或protected也可以
*或者不声明构造方法,如果声明构造方法,通常至少声明两个,其中一个为无参的构造方法
*子类的构造的过程中必须调用其基类的构造方法;子类可以在自己的构造方法中使用super调用基类的构造方法;使用this调用本类中的另外的构造方法
*this(“”,””,””)这样的形式定义无参构造方法,那么必须有全部成员变量的构造方法
10、继承[组合]【覆盖】
*接口可以实现多继承,而类不可以实现多继承
*子类不能继承父类的私有属性和方法,且不能继承构造方法
*子类不能继承父类的静态属性和方法,只能被调用
*子类不能直接访问从父类的是有属性及方法,但可以使用公有的(及保护)方法进行{一般使用getX()得到}
*什么时候构造方法必须调用{例如:有些模式就一定要自己定义构造函数,比如设计模式中的单例模式 也就是这个类只允许一个实例产生 class ? Singleton ? { private ? static ? Singleton ? instance ? = ? null; private ? Singleton() ? {//定义为私有,只能由内部的getInstance方法调用,确保只能产生一个实例即instance,如果你不定义私有构造函数,那么默认提供的是public,也就不能保证单例了 } synchronized ? public ? static ? Singleton ? getInstance() ? { if ? (instance ? == ? null) instance ? = ? new ? Singleton(); return ? instance; } }}
11、static
*在类中,用static声明的成员变量为 静态变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份
*用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递为它
,所以在static方法中不可访问非static的成员[静态方法不再是针对某个对象调用,所以不能访问非静态成员]
*可以通过对象引用或类名(不需要实例化)访问静态成员
*静态方法不能调用非静态的属性或方法【因为局部不代表全部】
*类成员只有在new一个对象的时候才存在
文档评论(0)