标签:
1.帮助文档
A.格式:/**...*/
注意:在同一文件夹下,类定义在一个文件中和定义在两个文件中,效果是一样的
B.构造方法私有化,外界就不能调用构造方法,这时,只能通过类名调用类中用static关键字修饰的方法,静态的可以通过类名修饰
C.使用帮助文档时,用public修饰类名,不然会提示权限不够
例:
/**
*...
*@author//显示作者
*@version 1.2 //显示版本
*/
public class Demo{
/**
*@param
*@return
*/
public void show(){
......
}
}
D.帮助文档的使用
a.搜索类名
`b看包,是否是java.lang包,如果是,则使用的不需要导包,否则需要导包,如:java.util.Scanner;
c.看举例
d.看版本
e.看类的结构
成员变量:字段摘要
构造方法:构造方法摘要
成员方法:方法摘要
f.如果没有构造方法,看是否有静态方法,若有,可直接通过类名直接调用静态方法,而不需要通过创建对象调用构造方法
例:math.random() //0<= math.random() <1;
E.在dos下的命令
例:javac -d doc -author -version Demo.java
2.代码块
用{}括起来的代码
分类:
a.局部代码块:在方法定义中,用于限定变量的声明周期,用完就释放,提高内存的利用率
b.构造代码块:在类中成员位置,调用构造方法时,优先于构造方法执行,其实构造代码块就是讲所有构造方法中形同的代码用{}括起来,提高代码复用性
c.静态代码块:在类中成员位置,用static修饰,在加载类的时候,就加载了静态代码块,是对类的初始化,只执行一次
3.继承
A.关键字extends
父类:又叫做基类,超类
子类:又叫派生类
B.使用格式
子类 extends 父类{
......
}
C.特点:
a.继承提高了程序的耦合性,
b.但开发中讲求低耦合,高内聚
c.Java中的继承可以单继承,可以多层继承
d.子类只能继承父类的非私有成员
e.子类不能继承父类的构造方法
f.不要为了部分功能区继承
g.继承体现的是一种"is a"的关系 例:Student is a Person,Teacher is a Person.
h.子类中成员变量与父类的相同:遵循就近原则调用
D.this与super
this:本类中成员的引用
super:父类存储空间的标识,也可以理解为对父类的引用
E.调用构造方法
子类的所有构造方法都默认调用父类的空参构造方法
原因:因为子类可能会访问父类的数据,所有需要调用父类的构造方法以对父类的数据进行初始化
使用:子类的每个构造方法的第一条语句都是super();即调用了父类的无参构造方法,默认隐藏了
F.调用成员方法
G.注意:如果父类没有无参构造方法
则需要在每个子类的构造方法的第一句写上super(...);括号中的内容取决于父类的构造方法
子类的构造方法只要访问了父类的构造就行了,所以也可以用this(...);调用本类中已经调用父类构造方法的构造方法,括号中的内容取决于那个子类构造方法调用了 父类的构造方法
4.类的初始化过程
A.子类的初始化过程
父类的静态修饰部分
子类的静态修饰部分
父类的成员变量和非static块
父类的构造代码块(如果有)
父类的构造方法
子类的成员变量和非static块
子类的构造代码块(如果有)
子类的构造方法
B.一个类的初始化过程
a.成员变量的初始化
默认初始化
显示初始化
构造方法初始化
b.子、父类的初始化(分层初始化)
先进行父类初始化
再进行子类初始化
c. 虽然子类的构造方法中默认偶super();但初始化是并不是按照这个顺序执行的,而是按照分层初始化的顺序执行的,super();仅仅表示先初始化父类,再初始化子类
5.继承中子类父类出现同名方法的处理方法
先访问子类的方法,如果没有,再访问父类的方法,如果再没有,就报错,不再访问父类的父类
6.方法的重写
子类中出现和父类中方法声明一模一样的方法
A.方法重写中,子类方法的权限要大于等于父类中相同方法的权限
如:父类void show(){} 子类void show(){}
父类void show(){} 子类public void show(){}
B.注意super(name,age);
C.方法重写与方法重载的区别
方法重载(overload):在一个类中,方法名相同,参数列表不同的多个方法的现象,与返回值类型无关
方法重写(override):在子、父类中,出现方法声明完全相同的现象
7.API
Application Programming Interface 应用程序编程接口
标签:
原文地址:http://www.cnblogs.com/ngc982/p/5638482.html