源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java编程abstract类和方法详解

  • 时间:2020-12-24 20:57 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java编程abstract类和方法详解
抽象类和抽象方法常用知识点: (1)抽象类作为被继承类,子类必须实现抽象类中的所有抽象方法,除非子类也为抽象类。 也就是说,如果子类也为抽象类,可以不实现父类中的抽象方法。但是,如果有一个非抽象类 继承于抽象子类,需要实现抽象子类,抽象子类的抽象父类的所有抽象方法,新帐旧账一起算。 (2)抽象类不能用final进行修饰。 (3)抽象类不能被实例化,也就是说你用的时候不能通过new关键字创建。 (4)抽象类中可以包含抽象方法和非抽象方法,抽象方法没有方法体,也就是没有具体实现, 只是定义了有什么功能,但是非抽象方法含有方法体。 eg: 抽象父类Person:
package com.lanhuigu.java;
/** 
 * 抽象类:不能用final修饰, 
 * 可以包含抽象方法和非抽象方法, 
 * 抽象方法没有方法体,只是定义功能,没有实现; 
 * 非抽象方法为正常的方法。 
 */
public abstract class Person {
 /* 
   * abstract methods 
   */
 public abstract String eat();
 public abstract String sleep();
 /* 
   * non-abstract methods 
   */
 public String sport() {
  return "生命在于运动";
 }
}
非抽象子类Teacher:
package com.lanhuigu.java;
/** 
 * 继承于抽象类person,必须实现父类中的所有抽象方法 
 */
public class Teacher extends Person {
 @Override 
   public String eat() {
  // TODO Auto-generated method stub 
  return "老师吃饭";
 }
 @Override 
   public String sleep() {
  // TODO Auto-generated method stub 
  return "老师睡觉";
 }
}
非抽象子类Student:
package com.lanhuigu.java;
/** 
 * 继承于抽象类person,必须实现父类中的所有抽象方法 
 */
public class Student extends Person {
 @Override 
   public String eat() {
  // TODO Auto-generated method stub 
  return "学生吃饭";
 }
 @Override 
   public String sleep() {
  // TODO Auto-generated method stub 
  return "学生睡觉";
 }
}
抽象子类OthersPerson:
package com.lanhuigu.java; 
/** 
 * 抽象类继承自抽象类,可以不用实现其父类的抽象方法 
 */ 
public abstract class OthersPerson extends Person { 
  public abstract String call(); 
} 
非抽象子类ExtendsOthersPerson继承于抽象子类OthersPerson:
package com.lanhuigu.java;
/** 
 * 必须实现抽象父类OthersPerson,以及OthersPerson父类Person中 
 * 的所有抽象方法,新帐旧账一起算。 
 */
public class ExtendsOthersPerson extends OthersPerson {
 @Override 
   public String sleep() {
  // TODO Auto-generated method stub 
  return "睡觉";
 }
 @Override 
   public String eat() {
  // TODO Auto-generated method stub 
  return "吃饭";
 }
 @Override 
   public String call() {
  // TODO Auto-generated method stub 
  return "打电话";
 }
}
测试代码:
package com.lanhuigu.java;
public class TestAbstract {
 public static void main(String[] args) {
  Teacher teacher = new Teacher();
  Student student = new Student();
  //OthersPerson othersPerson = new OthersPerson();//报错,抽象类不能被实例化 
  System.out.println(teacher.eat());
  System.out.println(teacher.sleep());
  System.out.println(teacher.sport());
  // 继承父类非抽象方法 
  System.out.println("==============");
  System.out.println(student.eat());
  System.out.println(student.sleep());
  System.out.println(student.sport());
  // 继承父类非抽象方法
 }
}
控制台输出: 老师吃饭 老师睡觉 生命在于运动 ============== 学生吃饭 学生睡觉 生命在于运动 [b]总结[/b] 以上就是本文关于java编程abstract类和方法详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站: [url=http://www.1sucai.cn/article/129980.htm][u][b]java中staticclass静态类详解[/b][/u][/url] [url=http://www.1sucai.cn/article/129342.htm][u][b]Java压缩文件工具类ZipUtil使用方法代码示例[/b][/u][/url] [url=http://www.1sucai.cn/article/128673.htm][u][b]Java编程关于子类重写父类方法问题的理解[/b][/u][/url] 如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部