继承: Aextends BA(子类)继承B(父类),可减少代码出错的机会及减少编程时间,能够分离出子类共同的部分,扩展方便等;
public class Person
{
public String name;
public int age;
public String getinfo(){...};
}
public class Student extends Person// 如果不使用继承则需要在student 中重新建立 name age 等,继承就省去了重新建立属性;
{
public String school;
public String study(){...};
}
A(子类)只能继承一个B(父类),而B(父类)可以被多个对象继承;
可以有多层继承 A继承B,C继承A ,那么C也就间接的继承了B;
子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法,如果使用父类的构造方法使用super(参数)
如果子类中没有显式地调用父类的构造方法,也美欧使用this关键字调用重载的其他构造方法,则在产生子类的实例对象时,默认调用父类无参数的构造方法,
先执行父类构造函数,再执行子类构造函数
覆盖(重写)父类方法:覆盖方法必须和被覆盖方法具有相同的方法名称、参数列表和返回值类型
final: final标记的类不能被继承; 方法不能被重写;标记变量后成为常量,只能赋值一次
抽象类:没有方法的实现,所有方法都交给子类实现 abstract 来修饰, 抽象类必须用abstract来修饰,抽象方法也必须用abstract修饰,抽象类不能用new
产生对象。抽象只需声明,不用实现;
接口:抽象类的一种特殊形式 用interface修饰,接口可以继承(extends)另一个接口,也可以定义一个类用implements实现接口的方法,
接口实例:http://blog.csdn.net/dymx2008/article/details/8680412
对象多态:子类能够转换成父类,父类不能转换成子类 如男人是人,但人不一定是男人
instanceof 判断实例对象是否属于一个类 A instanceof B 返回 布尔型 true 或 false
异常:简单理解就是程序中出现的错误,如参数错误、下标越界、类型错误、类不存在、算数异常等;
try
{
// 需要检查的代码块 如果错 执行 catch 中的代码
}
catch(Exception e)
{
// 如果try 中错误 执行本代码 这里可以输出 错误原因 e.getMessage();
}
throws与throw :throws 定义方法可能发生异常 ,在方法的后面 添加 throws Excption ,这样强制用户在调用此方法的时候加上try……catch 异常处理;throw 是抛出异常对象 throw 对象名
finally:try...catch 语句后还可以有一个finally 语句 ,finally 语句中的代码不管异常是否被捕获都被执行, try...catch...finally 代码块中间不能出现其他语句;
包:创建包 javac -d . demo.java .当前目录下 可以添加路径 引用包 package 包名;应该在第一行
命名规则:包名 一律小写aaaa;类名接口名每个单词的第一个字母大写;方法,变量 第一个单词小写以后每个单词第一个字母大写aaaBbbbCccc;常量名 所有字母大写