您的位置:首页 > 职场人生

黑马程序员Java基础之多态与继承、覆盖与重载

2012-03-28 11:41 309 查看
---------------------- android培训java培训、期待与您交流! ----------------------

基础要点

1、 多态(polymophsim)与继承(Inheritance)是面向对象程序设计的特征

2、 覆盖(overriding)与重载(overloading)是对继承而言的,他们实现了多态(polymophsim)

3、 装饰模式()和多态(poylmophsim)类似用于拓展类的功能,但又有不同,他是23种设计模式的一种

4、 接口与以上几种都是同级别的。Java中子类只有一个父类,而一个父类的方法有限所以就有了接口。实现了接口子类的功能就会加强。这里大概也有提高代码复用率的考量吧。

举个例子如定义一个人类,包含姓名、性别2个属性,再定义一个学生类,学生也是人,除了包含人的属性外,还包含学分属性。使学生继承人。在主类中生成一个学生对象和一个人对象,并显示信息

/**创建一个Person类包含name和age属性
* 有自己的构造函数
* 有get()和set()方法
*/
public class Person {
private String name;
private int age;
//Person的构造函数,有带两个参数的,有带一个参数的,还有不带参数的
public Person(String name,int age){
this.set(name);
this.set(age);
}
public Person(String name){
this(name,1);
}
public Person(){
this("姓名未知",0);
}
public Person(Person p){
this(p.name,p.age);
}
//set方法用于设置成员变量
public void set(String name){
this.name = name;
}
public void set(int age){
this.age = age;
}
public void set(String name,int age){
this.set(name);
this.set(age);
}
public void set(Person p){
this.set(p.name);
this.set(p.age);
}
//get方法用于取得成员变量
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
}
package horse;
/**定义一个学生类, 继承Person类
*除有Person属性(成员变量)name和age外还需有score,
*可以通过构造函数进行初始化,另要实现自己的特有方法获取分数
*/
public class Student extends Person {
private int score;
public Student(String name,int age,int score){
super(name,age);
this.score = score;
}
public int getScore(){
return this.score;
}
public static void main(String[] args) {
//用于创建一个对象输出查看结果
Student st = new Student("love",21,50);
Person p = new Person("love_horse",20);
System.out.println(st);
System.out.println(p);
}
}

总结:



名称

final
static
修饰变量
常量
类常量,保存在该类内存区域的共享单元,独立于类中对象,可直接访问(不会创建实例直接使用)
修饰方法
最终方法不能被子类覆盖
不能被子类修改或重新定义,通过类名可直接调用
修饰类
该类不能被继承
——
静态块
——
用于给类初始化,先于其他方法执行
感受:这一节已近升华到模拟现实世界了。程序员真伟大,他们生活在现实世界,却创建了另一个虚拟世界。佛说:“一花一草一世界”,冷兵器时代过去了,热兵器时代过去了,那在当下物语横流的时代,程序员也必将创造一片精神的净土,我同样很希望和你们一道站在一起做创世界的人。

---------------------- android培训java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐