標籤:java
1. 繼承
用一個例子說明繼承
class Person{private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void tell(){System.out.println("name:"+ this.getName()+" "+"age:"+this.getAge());}}class Student extends Person{private int score;public int getScore() {return score;}public void setScore(int score) {this.score = score;}public void tell(){super.tell(); //使用父類方法System.out.println("score:"+score);}}public class ExtendDemo {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubStudent std = new Student();std.setAge(20);std.setName("thystar");std.setScore(100);std.tell();}}
2 抽象類別和借口
final關鍵字 聲明類,方法,和屬性
使用final聲明的類不能被繼承
使用final聲明的方法不能被重寫
使用final聲明的變數變成常量,常量不能修改
抽象類別 : 包含抽象方法的類
abstract class className{
}
抽象方法:聲明而未被實現的方法,用abstract關鍵字聲明
抽象類別被子類繼承,要重寫抽象類別中的所有方法
抽象類別不能直接執行個體化,要通過其子類執行個體化
abstract class Abs{private int age;public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void tell(){}public abstract void say();public abstract void print();}class AbsClass extends Abs{public void say(){System.out.println(this.getAge());}public void print(){}}public class AbsDemo {public static void main(String[] args){AbsClass ab = new AbsClass();ab.setAge(20);ab.say();}}
介面:
interface interName{
}
interface Inter{public static final int AGE=10;//公用全域常量public abstract void tell();}interface Inter2{public abstract void say();}abstract class Abs1{public abstract void print();}class A extends Abs implements Inter, Inter2{public void tell(){}public void say(){System.out.println("say");}public void print(){System.out.println("Abs");}}public class InterDemo01 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubA a = new A();a.tell();System.out.println(Inter.AGE); //全域常量用類名調用a.say();a.print();}}
極客學院課程:http://www.jikexueyuan.com/path/javaweb/
Java物件導向小記(2)