上
重点
===========================================================*面向对象的概念
1.封装性 只需使用,不用了解内部构造及原理2.继承性 可以继承父类的方法,避免代码重复率高
3.多态性 相同的名字代表不同的内涵
===========================================================
*类与对象
1.类是对某一事物抽象描述,而对象用于表示现实中该类事物的个体定义:成员变量(特征,属性),成员方法(行为)。
方法中的成为局部变量
2.对象创建与使用
类名 对象名称= new 类名();
对象名称.对象成员
3.类的封装
private私有化属性 只能在本类中访问 外界访问需要提供一些public的公有
方法。 getXxx() setXxx();实现封装
===========================================================
*构造方法
1.方法名与类名一致在方法名的前面没有返回值类型的声明
在方法中不能使用return语句返回一个值
2.构造方法可以重载,只是参数的不同
注意:无参构造默认,但有有参构造需要重写无参
===========================================================
*this和static
1.this可以在方法中访问成员变量this调用成员方法时,this可以省略
2.构造方法的调用:
只能在构造方法中用this调用,不能在成员方法中使用在构造方法中,
this语句必须位于第一行,仅出现一次.
3.垃圾回收System.gc();
4.static修饰成员变量,静态变量可以被所以实例共享,可以不创建对
象,直接调用该静态变量.
5.静态代码块,在类中,由于类只加载一次,所以代码块也只加载一
次,通常对类的成员进行初始化
6.单例模式设计模式就是不同的棋谱,不同的棋局,就用不同的棋谱单例就是满
足只有一个实例对象
Class Single(){private static Single INSTANCE=new Single();
private Single(){}//私有化构造方法
private static Single getInstance(){//提供返回对象的静态方法
return INSTANCE;
}
}
clasee Single(){
Single(){}
public static final Single INSTANCE=new Single();
}
===========================================================
*内部类
1.类中除了成员变量,成员方法,还可以定义类,这种称为成员内部类
外部类名.内部类名 变量名=new 外部类名().new 内部类名();
2.静态内部类
外部类名.内部类名 变量名=new 外部类名().内部类名();
3.方法内部类成员方法中定义的类,只能在当前方法中使用,可以访问外部类的成员变量
*帮助文档
开始:/**
结束:*/
Javadoc可以生成一个HTML的文档@author 对类的说明,程序的作者
@version 对类的说明,程序的版本号@param 对方法的说明,表示方法定义的参数以及参数对应的说明
@return 对方法的说明,表示方法返回值代表的意义命令:javadoc -d . -version -author Person.java
-d表示指定输出文档存放的目录
.当前的-version 用来指定输出文档中需包含版本信息
-author用来指定输出文档中需包含作者信息
下
===========================================================*类的继承
1.在现有的类的基础中再构建一个新类,子类自动拥有父类所以可继承的属性和
方法 关键字extend,只有一个父类,可以有多个子类
2.重写父类方法,注意方法名 参数列表和返回值类型都要与父类相同
3.super子类重写方法时,依旧可以用它来调用父类方法
super.成员变量
super.成员方法(参1,参2)
super.([参1,参2])
注意:super调用父类构造方法时必须位于第一行,仅此一次
===========================================================*final关键字
1.final修饰的类不能被继承,不能派生子类
final修饰的方法不能被子类重写
final修饰的变量是常量,只能被赋值一次
2.抽象类
abstract 关键字
注意:抽象类中必须包含抽象方法,抽象类不可以被实例化,必须创建一个子类
接口:抽象类中的所有方法都是抽象方法,就是接口 interface 用implements
实现
特点:接口中的方法都是抽象的,不能实例化对象
实现接口时,抽象类随意实现方法,其它全部实现方法
implements可以实现多个接口,以逗号隔开。
===========================================================*多态
1.为了使一个方法具有通用性,由于参数类型不同而执行不同的现象就是多态
可拓展性和可维护性
2.类型转换
避免出现转换错误,instanceof可以判断一个对象是否为某个接口或类的实例
或者子类实例
对象(或者对象引用变量)instanceof 类(接口)
3.object类getClass().getName()返回对象所属类的类名,即Animal
hashCode 代表返回该对象的哈希值
Integer.toHexString(hashCode)将对象的哈希值用十六进制表示
hashCode 是object类中定义的一个方法这个方法将对象的内存地址进行哈希
运算,返回一个int类型的哈希值
4.匿名内部类
new父类(参数列表)或父接口(){匿名内部类}
===========================================================
*异常
Error代表错误Exception代表异常
三个方法String getMessage()返回throwable的详细字符串
void printStackTrace()将此throwable及其追踪输出至标准错误流void printStackTrace(PrintStream s)将此throwable及其追踪输出到指定的
输出流
try...catch finally
throws关键字
修饰符 返回值类型 方法名 ([参1,参2...])throws ExceptionType1[ExceptionType2...]{
}1.编译时异常 使用try...catch 语句对异常进行捕获
2.使用throws关键字声明抛出异常,调用者对其处理
3.自定义异常对象throw Exception 异常对象
===========================================================*访问控制
private(类) default(包) protected(子类访问) public(公共访问)