Java系列-Java高级,
Java系列-Java高级,
-----------OOP------------------
1、类的修饰符可以是public 、final、abstract、缺省的
2、不能在构造器里面显式return值,因为构造器返回值是隐式的
3、静态成员不能访问非静态成员
4、JAVA编程时,不要使用对象去调用static修饰的成员,应该使用类去调用
5、形参长度可变的方法:通过在最后一个形参的类型后增加三点(...)来实现,并且只能处在形参列表的最后,也就说一个方法中最多只能有一个长度可变的形参,也可以传入一个数组
6、一个源文件只写一个类是良好的编程习惯
7、递归一定要向已知方向递归
8、String 类型不可改变:String类为final类型
9、this super只能出现在类的构造方法的第一行,并且this super不能出现在同一个构造方法中
10、重载主要发生在同一个类的多个同名方法之间,而重写发生在子类和父类的同名方法之间,当然父类方法和子类方法之间也可能发生重载
11、模块设计追求高内聚:尽可能把模块内部数据,功能实现细节隐藏在模块内部独立完成,不允许外部直接干预
低耦合:仅暴露少量的方法给外部使用
12、javac -d . hello.java 可编译相应的类目录
13、import static 可以导入静态类
14、静态多态:方法重载
动态多态:方法重写(要有继承)
15、java中实现多态的机制是什么?
父类或接口定义的引用变量可以指向子类或实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实现对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法.
使用instanceof时二边的操作数要么相同,要么有父子继承关系
16、组合【持有对方引用】【外观模式】
17、通过继承中超类对象引用变量引用子类对象来实现
通过接口类型变量引用实现接口的类的对象来实现
18、一个空类型可以调用其本身类型的静态成员
如:MyClass m=null; //m为空
System.out.println(m.a);
m.run();
class MyClass
{
public static int a;
public static void run()
{
System.out.println("静态方法");
}
}
19、Integer包装类为缓存一个-128到127数组,如果二个Integer变量比较,在缓存的数之类的会返回true,超过的则返回false
20、java为每个包装类都提供了一个compareTo()来比较二个包装类变量的大小,所以比较时应该用这个方法
21、String 与StringBuffer用equals比较相同的字符串会返回false
StringBuffer没有重写equals
23、抽象类的构造器不能用于创建实例,主要是用于被其子类调用
24、abstract 不能与final static private 同时使用,也不能修饰构造方法和成员变量
25、接口里所有Field都是public static final的,所有方法都 public abstract 的
26、接口可以被接口多继承,被类和抽象类多实现
--------------文档注释【javadoc】---------------------
@author 指定java程序的作者
@version 指定源文件的版本
@deprecated 不推荐使用的方法
@param 方法的参数说明信息
@return 方法的返回值说明信息
@exception 抛出异常的类型
@thows:抛出的异常
相关文章
- 暂无相关文章
用户点评