zoukankan      html  css  js  c++  java
  • Java面向对象-抽象类

    Java面向对象-抽象类

    定义:在java中,含有抽象方法的类称为抽象类,同样不能生成对象;

    注意点

    1,包含一个抽象方法的类是抽象类;

    2,抽象类和抽象方法都要用abstract关键字修饰;

    3,抽象方法只需要声明而不需要实现;

    4,抽象类必须被子类继承,(假如不是抽象类)必须重写抽象父类中的全部抽象方法;

    5,抽象类不能被实例化;

    我们先来定义一个抽象类:

     1 package com.java1234.chap03.sec11;
     2  
     3 /**
     4  * 定义一个抽象类People
     5  * @author user
     6  *
     7  */
     8 public abstract class People {
     9  
    10     private String name;
    11  
    12     public String getName() {
    13         return name;
    14     }
    15  
    16     public void setName(String name) {
    17         this.name = name;
    18     }
    19      
    20     public void say(){
    21         System.out.println("我的姓名是:"+this.getName());
    22     }
    23      
    24     /**
    25      * 定义一个抽象方法 职业 让子类去具体实现
    26      */
    27     public abstract void profession();
    28      
    29 }

    抽象类,定义一个属性name 以及方法say() 再定义一个抽象方法 profession 具体实现让子类去实现;

    我们搞一个测试类:

    我么尝试下实例化下People类:

    QQ鎴�浘20161008194222.jpg

    我们会看到 编译出错,不能实例化People类;

    我们定义一个Student类,以及一个Teacher类:

     1 package com.java1234.chap03.sec11;
     2  
     3 public class Student extends People{
     4  
     5     @Override
     6     public void profession() {
     7         System.out.println("职业是:学生");
     8     }
     9  
    10 }
     1 package com.java1234.chap03.sec11;
     2  
     3 public class Teacher extends People{
     4  
     5     @Override
     6     public void profession() {
     7         System.out.println("职业是:老师");
     8     }
     9  
    10 }

    我们搞一个测试类:

     1 package com.java1234.chap03.sec11;
     2  
     3 public class Test {
     4  
     5     public static void main(String[] args) {
     6          
     7         Student student=new Student();
     8         student.profession();
     9          
    10         Teacher teacher=new Teacher();
    11         teacher.profession();
    12          
    13     }
    14 }

    运行输出:

    职业是:学生

    职业是:老师

  • 相关阅读:
    项目选题报告答辩总结
    第七次作业--项目需求分析(团队)
    第六次作业--结对编程第二次
    第四次作业——项目选题报告
    eclipse 部署maven 的web 项目提示找不到类的问题
    Spring中的applicationContext.xml与SpringMVC的xxx-servlet.xml的区别
    在eclipse中maven web项目搭建
    eclipse maven plugin 插件 安装 和 配置
    Maven最佳实践:Maven仓库
    eclipse jadclipse 反编译安装说明
  • 原文地址:https://www.cnblogs.com/eaglezb/p/5961449.html
Copyright © 2011-2022 走看看