java基础3
1.面向过程:是一种谓语和宾语的关系。对窗口操作的函数与窗口本身的定义没有任何关系。面向对象:是一种主语和谓语的关系。
2.除了基本数据的8种类型外都是变量类型或者说是引用类型。数组类型也属于引用类型。
3.比较两个数组的方法,可以用Array的equals方法。
4.强内聚(许多功能尽量在类的内部独立完成,不让外面干扰),弱耦合(尽量提供给外部少的方法调用)。比如总统指挥一支部队,不必了解部队细节。
5.static类型的方法不属于任何对象。所以不需要创建对象就可以直接调用该方法。
6.先执行成员变量初始化的代码,然后才去执行构造方法中的代码。
7.方法内部的this表示使用该方法时的那个对象。所以this事先是不知道是谁的,只有当对象创建出来并且调用该方法的时候才会起作用。this表示“我所在的那个对象”。
特殊情况下用于将部件加入到容器之中,或者用一个构造方法调用第二个构造方法。
例子程序:
容器的用法:
- class Container {
- Component com;
- public void addCompnent() {
-
- com = new Component(this);
- }
- }
-
- class Component {
- Container c;
- public Component(Container c) {
-
- this.c = c;
- }
-
- }
构造方法的用法:
- class Person {
- private String name;
- private int age;
- public Person(String name){
- this.name = name;
- }
- public Person(String name,int age)
- this(name);
- this.age = age;
-
- }
8.finalize 和System.gc搭配使用,手动清除系统中的垃圾。
9.静态方法不能以任何方式引用this和super。静态方法不能直接访问类中的非静态成员。如在main方法中不能直接调用非静态成员,必须先创建一个对象。
10.static代码块:
static
{
**************
}//在用到类的方法时才会执行
static常用在单态设计模式(单例模式)
11.内部类可以访问外部类的数据,但外部类不能访问内部类的数据。内部类在创建的时候保留了对外部类的一个引用,
所以如果某变量在内部类找不到的话可以根据该引用继续在外部类中查找。
12.内部类和外部类拥有相同的变量名时:
- public class OutClass {
- private int size = 1;
- class Inner {
- private int size = 2;
- public void dostuff(int size) {
- size++;
- this.size++;
- OutClass.this.size++;
- }
- }
- }
13.内部类在方法中时,不能访问方法中定义的普通变量。除非该变量使用final关键字。
14.使用java文档注释。用javadoc命令来自动生成文档
/**
*
*@version
*@author
*param Name 名字
*/
注释信息应该写在类或者方法的前面,param表示用到的一些参数,“Name”表示参数名,“名字”表示该参数的解释信息。
最终生成的文档和java API中的有关类解释的文件格式相同,生成的文件格式是html文件