您的位置:首页 > 编程语言 > Java开发

Java系列-Java高级

2013-05-15 16:23 225 查看
-----------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

22、java提供的8个包装类和String类都是不可变类

23、抽象类的构造器不能用于创建实例,主要是用于被其子类调用

24、abstract 不能与final static private 同时使用,也不能修饰构造方法和成员变量

25、接口里所有Field都是public static final的,所有方法都 public abstract 的

26、接口可以被接口多继承,被类和抽象类多实现

--------------文档注释【javadoc】---------------------

@author 指定java程序的作者

@version 指定源文件的版本

@deprecated 不推荐使用的方法

@param 方法的参数说明信息

@return 方法的返回值说明信息

@exception 抛出异常的类型

@thows:抛出的异常
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: