一、抽象类

概   念:很多具有相同特征和行为的对象可以抽象为一个类;很多具有相同特征和行为的类可以抽象为一个抽象类

关键字:abstract

规   则:1.抽象类可以没有抽象方法,有抽象方法的类必须是抽象类

    2.非抽象类继承抽象类必须实现所有抽象方法

    3.抽象类可以有方法和属性

    4.抽象类不能被实例化

    5.抽象类不能声明为final(用final声明的类不能被继承,而抽象类就是要被别的类继承)

 public class Practice14 {

     public static void main(String[] args) {
// TODO Auto-generated method stub }
}
//具体类继承抽象类必须要实现抽象方法
class Man extends Person{
//实现抽象类的抽象方法
public void eat(){
System.out.println("大口吃饭");
}
}
class Women extends Person{
public void eat(){
System.out.println("小口吃饭");
}
}
//抽象类
abstract class Person{
private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public abstract void eat();//没有实现,抽象方法。有抽象方法的一定是抽象类,抽象类不一定有抽象方法
}

二、接口

概      念:1.接口是一组行为的规范、定义

         2.使用接口,可以让我们的程序更加利于变化

         3.接口是面向对象编程体系中的思想精髓之一

         4.面向对象设计法则:基于接口编程

使用规则 :1.接口可以继承多个接口

      2.一个类可以实现多个接口

        3.抽象类实现接口可以不实现方法

4.接口中所有方法访问权限都是public

5.接口中定义的属性都是常量

 public class Practice14 {

     public static void main(String[] args) {
// TODO Auto-generated method stub
Girl g=new Girl();
g.cry();
g.eat();
}
}
//一个类实现多个接口
class Girl implements Hit,Eat{
public void cry(){
System.out.println("哭");
}
public void eat(){
System.out.println("吃");
}
}
//接口
interface Hit{
String info="";//属性就是常量 public static final
void cry();//接口中的方法默认为public
} interface Eat{
void eat();
public default void print(){//默认的方法,jdk1.8中加入的新特性
System.out.println("default");
}
}

最新文章

  1. 微信小程序-关于重定向问题
  2. cent6.4使用
  3. 我的java后端书架
  4. TCP/IP详解 笔记十四
  5. php的rss订阅
  6. UML中关联(Association)、聚合(Aggregation)和合成(Composition)之间的区别
  7. 怎样在mysql里面修改数据库名称
  8. b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释
  9. js中的继承1--类继承
  10. c# 使用 静态类+xml序列化 保存配置文件
  11. underscorejs-each学习
  12. html5的116个标签
  13. Hi3531支持2GByte内存
  14. 数据结构C语言版-栈
  15. 为什么HTML使用<!DOCTYPE HTML>
  16. String、StringBuffer、StringBuidler 知识整理
  17. VBA 连接,提醒 rs AS new adodb.recordset 的变量未定义
  18. 你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构
  19. java内存分配策略
  20. system()函数

热门文章

  1. Springboot监控之一:SpringBoot四大神器之Actuator之2--spring boot健康检查对Redis的连接检查的调整
  2. Linux系统主流架构一
  3. MODBUS TCP和MODBUS RTU的差别
  4. java基础知识(9)---异常
  5. 通信端口Com口被占用的原因分析
  6. UI面试题(1)
  7. MySQL的变量--系统变量、状态变量
  8. Android的系统结构简述
  9. 【总结整理】JQuery基础学习---样式篇
  10. 项目一:第一天 1、项目概述 2、环境搭建(重点) 3、Jquery Easyui 前端UI框架 4、Jquery Ztree 树形插件使用