今天发现遗忘好久的抽象类今天拿出来晒晒
首先定义抽象类Person.java
- package test;
- public abstract class Person {
- // 抽象出人的属性
- private String name;// 名字
- private int age;// 年龄
- private String language;// 语言
- 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 String getLanguage() {
- return language;
- }
- public void setLanguage(String language) {
- this.language = language;
- }
- // 抽象类中构造方法
- public Person() {
- System.out.println("我是抽象父类!");
- }
- // 抽象类中的普通方法
- public void run() {
- System.out.println("开始跑动");
- }
- // 抽象说话方法
- public abstract void speak();
- }
然后写个子类Chinese.java 继承父类Person.java
- package test;
- public class Chinese extends Person {
- //生成构造方法,如果父类为抽象类 并有构造方法 子类必须生成构造
- public Chinese(int age, String name, String language) {
- super();
- // TODO Auto-generated constructor stub
- this.setAge(age);
- this.setName(name);
- this.setLanguage(language);
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Person ps=new Chinese(22,"小沈阳","你好,我是小沈阳");
- System.out.println("姓名:"+ps.getName());
- System.out.println("年龄:"+ps.getAge());
- System.out.println("说话:"+ps.getLanguage());
- ps.run();
- ps.speak();
- }
- //重写父类方法
- public void speak() {
- // TODO Auto-generated method stub
- System.out.print("我说的是汉语");
- }
- }
呵呵 这样看就容易理解了吧
转载于:https://blog.51cto.com/empty/278495