1.面向对象编程和面向过程编程区别: 前者先确定数据结构,然后确定算法; 后者刚好相反.
2.不能直接调用构造方法,必须使用new关键字来自动调用,从而创造对象实例.new的三个作用:
a.为对象分配空间;b.调用构造函数;c.返回对象的引用.
3.若未指定任何构造函数,则编译器会自动添加缺省构造函数,且对对象成员变量赋系统默认值(如int赋值为0).
4.Java中也有this关键字,指向实例化后的对象本身,但是用法和对象一样,而不是指针.如:this.x=x而不是this->x=x
5.类的所有实例化对象的成员方法在内存中只有一份拷贝,数据成员则有多份拷贝
6.static方法和变量属于类,在未声明实例的前提下,可以利用类名调用(对象调用也可以).静态方法只能使用相应类的静态变量,不能直接使用实例变量.
7.使用final关键字可以定义常量,一旦被初始化便不可改变,可以在两个地方初始化,一是定义时,二是构造函数中.详细见final在Java的应用.
8.关键字extends用于声明说继承的父类.Java中不允许多继承.在之类中定义一个和父类函数名相同,参数一样,返回值类型一样的函数称为"覆盖".
9.关键字super用于调用父类中被子类覆盖或隐藏的方法或成员变量.子类的构造函数若不显式调用父类构造函数,则系统会于首行默认调用super(),即父类的无参数构造函数,若父类无此构造函数会报错.Java中构造函数不得继承.
10.运行时根据传递对象引用的不同,调用相应的方法,称为"多态".
11.instanceof关键字用于判断某对象是否某类的一个实例,语法为"object instanceof class",返回boolean.判断子类对象是否父类的一个实例,返回为true.