一、抽象类

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

关键字:abstract

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

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

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

    4.抽象类不能被实例化

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

  1. public class Practice14 {
  2.  
  3. public static void main(String[] args) {
  4. // TODO Auto-generated method stub
  5.  
  6. }
  7. }
  8. //具体类继承抽象类必须要实现抽象方法
  9. class Man extends Person{
  10. //实现抽象类的抽象方法
  11. public void eat(){
  12. System.out.println("大口吃饭");
  13. }
  14. }
  15. class Women extends Person{
  16. public void eat(){
  17. System.out.println("小口吃饭");
  18. }
  19. }
  20. //抽象类
  21. abstract class Person{
  22. private String name;
  23.  
  24. public String getName() {
  25. return name;
  26. }
  27.  
  28. public void setName(String name) {
  29. this.name = name;
  30. }
  31.  
  32. public abstract void eat();//没有实现,抽象方法。有抽象方法的一定是抽象类,抽象类不一定有抽象方法
  33. }

二、接口

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

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

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

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

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

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

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

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

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

  1. public class Practice14 {
  2.  
  3. public static void main(String[] args) {
  4. // TODO Auto-generated method stub
  5. Girl g=new Girl();
  6. g.cry();
  7. g.eat();
  8. }
  9. }
  10. //一个类实现多个接口
  11. class Girl implements Hit,Eat{
  12. public void cry(){
  13. System.out.println("哭");
  14. }
  15. public void eat(){
  16. System.out.println("吃");
  17. }
  18. }
  19. //接口
  20. interface Hit{
  21. String info="";//属性就是常量 public static final
  22. void cry();//接口中的方法默认为public
  23. }
  24.  
  25. interface Eat{
  26. void eat();
  27. public default void print(){//默认的方法,jdk1.8中加入的新特性
  28. System.out.println("default");
  29. }
  30. }

Java面向对象_抽象类、接口的更多相关文章

  1. java面向对象_抽象类和接口

    一.抽象类 1.抽象方法:由abstract修饰.只有定义没有方法体.用一个分号结尾. 2.抽象类: 1)包含抽象方法的类必须是抽象类 2)由abstract修饰 3)不能被实例化 4)抽象类如果不被 ...

  2. Java面向对象_抽象类应用——模板方法模式

    概念:定义一个操作中的算法的骨架,而将一些可变部分的实现延迟到子类中.模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤. 去个例子分析一下这个概念: public cla ...

  3. 面向对象 继承 抽象类 接口 static 权限修饰符

    Day01 面向对象 继承 抽象类 接口 static 1.匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 2.类的继承是指在一个现有类的基础上去构建一个新的类,构建出 ...

  4. Java面向对象作业-用接口方式测试向下转型

    Java面向对象作业-用接口方式测试向下转型 根据视频的里实例 我们直接修改Test2测试方法: package com.java1234.chap03.sec13; public class Tes ...

  5. Java面向对象之类、接口、多态

    Java面向对象之类.接口.多态 类 class Person { // 实例属性 int age; String name; // 类属性 static int v = 1; // 构造器 publ ...

  6. Java 面向对象_接口

    接口定义 接口就是多个类的公共规范 接口是一种引用数据类型, 最重要的内容是其中的抽象方法 定义格式: public interface MyInterfaceAbstract { // 这是一个抽象 ...

  7. Java面向对象之抽象方法&接口

    在开始写抽象类之前,有一个问题我觉得想清楚会对理解抽象类很有帮助:那就是为什么要设计抽象类? 难道用类还不够么,为什么要设计出抽象类这样一个东西.我们可以换个角度来理解,就是有些类本来就是不应该被实例 ...

  8. java面向对象程序设计(下)-接口的定义

    抽象类是从多个类中抽象出来的模板,如果将这种抽象进行得更加彻底,则可以提炼出一种更加特殊的"抽象类"-接口(interface),Java9对接口进行了改进,允许在接口中定义默认方 ...

  9. Java核心基础第5篇-Java面向对象_类和对象

    Java面向对象之类和对象 一.面向对象概述 Java是完全的面向对象编程(Object Oriented Programming),简称OOP. 面向对象编程的思维方式更加符合大家的日常生活,因为我 ...

随机推荐

  1. Java常见设计模式之单例模式

         1.何为单例模式? 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的 ...

  2. Java中“分号”引起的陷阱

    对于这类问题而言,难度不大,多半是由于我们有误操作引起的.但在查找问题所在的时候我们有可能需要花费一番功夫了. 实例一: package com.yonyou.test; /** * 测试类 * @a ...

  3. xshell 登录虚拟机ubuntu

    本地装的Ubuntu虚拟机. 宿主机是win10,  互相之间能ping通,就是Xshell连不上,而且也不能弹出用户名和密码框.    后来解决,具体过程如下: 1: ifconfig -a命令得到 ...

  4. CSS是什么?W3C是什么?W3C盒子与IE盒子的区别?

    (1)层叠样式(Cascading Style Sheets, CSS)是用来表现HTML或XML文本样式的语言.   (2)W3C推荐规范(World Wide Web Consortium,W3C ...

  5. mysql软文

    常用的MySQL复杂查询语句写法 http://www.blogjava.net/bolo/archive/2015/02/02/422649.html   mysql sql常用语句大全 http: ...

  6. 【总结整理】JQuery小技巧

    var item=$("#content").find(".item");//效率最高 var item=$("#content .item" ...

  7. MySql中的视图的概念及应用

    视图的基本概念 视图是从一个或几个基本表(或者视图)导出的表.它与基本表不同,是一个虚表. 数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.所以基本表中的数据发生变化, ...

  8. Flask12 数据库连接、创建数据库用户、注册模块

    1 连接数据库 1.1 安装 flask-sqlalchemy flask-sqlalchemy 会让 sqlalchemy 使用起来更加方便 pip3 install flask-sqlalchem ...

  9. 面试题: Spring 框架 Bean的生命周期

    [Java面试五]Spring总结以及在面试中的一些问题.   1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本 ...

  10. python+selenium UI自动化不同浏览器之间的切换

    class register(): ROBOT_LIBRARY_SCOPE = 'GLOBAL' def __init__(self): pass # m默认打开chrome def open_bro ...