一、抽象类

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

关键字: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");
}
}

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. WPF dataGrid下的ComboBox的绑定

    WPF dataGrid下的ComboBox的绑定 Wpf中dataGrid中的某列是comboBox解决这个问题费了不少时间,不废话了直接上代码 xaml 代码 <DataGridTempla ...

  2. k8s组件简介

    Kubernetes is constructed using several components, as follows:f Kubernetes masterf Kubernetes nodes ...

  3. linux日常管理-rsync后台服务方式-2

    把本地的数据拷贝到远程 这里是个错误,read only.只允许读,不允许写. 改一下远程机器的配置文件 把read only改为no 拷贝到远程成功 tree一下远程机器的目录 ////////// ...

  4. 代码,用c++实现线性链表

    #include <iostream> #include <stdio.h> #include <malloc.h> using namespace std; #d ...

  5. [poj3259]Wormholes(spfa判负环)

    题意:有向图判负环. 解题关键:spfa算法+hash判负圈. spfa判断负环:若一个点入队次数大于节点数,则存在负环.  两点间如果有最短路,那么每个结点最多经过一次,这条路不超过$n-1$条边. ...

  6. day1_2_3

    DD烧写命令(mfgtools-without-rootfs.tar.gz) ubuntu minicom svn 应用层进程阻塞调试 多机共享 securecrt的远程登录以及调试 tengxunt ...

  7. Raising Modulo Numbers(ZOJ 2150)

    这题其实就是快速求一个高次幂的模. 这是题目的答案 #include<iostream> #include<cmath> using namespace std; ]; ]; ...

  8. jeecms 评论相关

    html WEB-INF-t-cms-www-gyxrmyy-content news.html 内容详情页 inc_comment_input.html 评论输入框 inc_comment_list ...

  9. Android xUtils框架(一) DbUtils

    在DbUtils中,只支持4中数据类型: public enum ColumnDbType { INTEGER("INTEGER"), REAL("REAL") ...

  10. Leetcode 第136场周赛解题报告

    周日的比赛的时候正在外面办事,没有参加.赛后看了下题目,几道题除了表面要考的内容,还是有些能发散扩展的地方. 做题目不是最终目的,通过做题发现知识盲区,去研究学习,才能不断提高. 理论和实际是有关系的 ...