继承的定义:子类继承父类的属性和行为(方法),使得子类对象可以使用父类中的方法与属性。

在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下

public class 父类{String name;//属性public void study(){System.out.println(name+"正在学习");//方法}
}public class 子类 extends 父类{
}

每个子类只能继承一个父类,但可以多重继承。

子类可以调用直接父类中的属性和方法

public class Demo{public static void main(String[] args) {子类 st = new 子类();st.name = "学生";st.study();}
}

运行结果为:

学生正在学习

重写父类中的方法:

当一个子类中一个方法具有与其父类中的一个方法相同的签名(指名称、参数个数和类型)和返回值时,称子类中的方法“重写”了父类的方法。例如:

注意:重写的方法具有与其所重写的方法相同的名称、参数数量、类型和返回值。

public class 子类 extends 父类{public void study(){System.out.println(name+"正在努力学习");}
}

若代码旁有绿色小三角表示,即为重写成功,此时运行结果为:

学生正在努力学习

自动转型(向上转型):

格式:父类名  对象名 = new 子类构造方法

注意:*自动转型后该对象优先执行子类重写的方法。

*子类中特有的方法不能调用。

public class Demo1{public static void main(String[] args) {父类 st2 = new 子类();st2.name="学生2";st2.study();}
}

结果为:

学生2正在努力学习

强制转型(向下转型):

格式:子类名 对象名 = (子类名)对象

public class Demo1{public static void main(String[] args) {父类 st2 = new 子类();st2.name="学生2";st2.study();子类 st2 = (子类) st21//强制转型}
}

*强制转型的前提是自动转型。

多态

在定义一个方法时,参数类型如为父类,那么继承该父类的子类也可作为方法的参数类型,例如:

public class 父类{//参数类型为父类public void study(父类 f){System.out.println("正在学习");//方法}
}public class Demo2{public static void main(String[] args) {子类 st3 = new 子类();st3.study(st3);}
}

运行结果为:

正在学习

接口

Java接口可理解为一种特殊的类。

接口定义关键字:interface。

接口中的属性均需在定义时给定初始值,因为接口中的变量均自带static静态关键字,属于全局共享的类变量:

//定义接口:interface
public interface Student {//常量//static 静态关键字//常量通常用大写字母命名public static  String NAME = "1";
}

接口中声明的方法默认是抽象方法(即只有方法标识符,而没有方法体)。

//定义接口:interface
public interface Student {//常量//static 静态关键字public static  String NAME = "1";//抽象方法public abstract void study();
}

Java中一个类可以继承多个接口,且继承接口时必须重写接口中的所有方法

接口继承关键字:implement

接口的意义:*弥补Java普通类不支持多继承的局限。

*接口指明了一个类必须要做什么和不能做什么,相当于类的蓝图。

*接口的作用就是告诉类,你要实现我这种接口代表的功能,你就必须实现某些方法,我才能承认你确实拥有该接口代表的某种能力。
因此在团队开发中起到方法整合的作用,有利为合作开发。

Java中的继承与接口相关推荐

  1. Java中的继承和接口

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 这是个老话题,继承和接口是实现多态的两种方式,如果对象很多,其中一对一对的有共同点,建议用继承,如果 ...

  2. Java中解决继承和接口默认方法冲突

    1)超类优先.如果超类提供了一个具体方法,同名而且有相同参数类型发默认方法会被忽略. 2)接口冲突.如果一个超接口提供了一个默认方法,另一个接口提供了一个同名而且参数类型(不论是否是默认参数)相同的方 ...

  3. 深入理解Java中的抽象类和接口

    对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用, ...

  4. Java中Comparable和Comparator接口区别分析

    本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comp ...

  5. java comparator相等_详解Java中Comparable和Comparator接口的区别

    详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...

  6. java中抽象类继承抽象类_Java中的抽象类用示例解释

    java中抽象类继承抽象类 Abstract classes are classes declared with abstract. They can be subclassed or extende ...

  7. Java 中的抽象类和接口

    Java 中的抽象类和接口 1.参考资料 深入理解Java的接口和抽象类 Java抽象类与接口的区别 2.前言 有一次旁听面试的时候,听到面试官问了一句:既然 JDK8 中接口有了默认方法实现,那接口 ...

  8. Java模式设计卖电脑实验报告,面向对象(Java)实验0继承、接口和多态

    <面向对象(Java)实验0继承.接口和多态>由会员分享,可在线阅读,更多相关<面向对象(Java)实验0继承.接口和多态(11页珍藏版)>请在金锄头文库上搜索. 1.电子信息 ...

  9. java饲养员喂动物_做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处...

    做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处 interface Animal{ //动物的接口    public void eat(Food food); // ...

最新文章

  1. 科研|Science回应中国燃料电池研究“造假”:发函重点关注,之前撤稿率100%
  2. Exchange 2013之(三)CAS部署
  3. java setcharat,Java StringBuffer setCharAt()方法
  4. HDU - 5775 Bubble Sort(树状数组)
  5. 用移位实现除以或者乘以一个数
  6. ASP.NET Core 认证与授权[7]:动态授权
  7. python之Map函数 reduce 函数
  8. python的pypi安装_python pip及安装包安装
  9. 补习系列(7)-springboot 实现拦截的五种姿势
  10. 字符串统计--对于给定的一个字符串,统计其中数字字符出现的次数。
  11. 官网下载的oracle有病毒,oracle 中勒索病毒怎么恢复?
  12. 光纤色散是什么?如何色散补偿?
  13. C#读取windows注册表键值的代码
  14. 剑指 Offer 47. 礼物的最大价值
  15. 金融数据分析 实验五 资产组合计算
  16. 室内定位如何介入工业互联网背景
  17. NO.7--定区关联快递员前台系统注册用户(发送验证码)
  18. GitHub使用(详细版)
  19. Luogu 2495 [SDOI2011]消耗战
  20. ListView动态数据源更新

热门文章

  1. 4个基本不等式的公式高中_基本不等式公式四个叫什么名字
  2. C++程序报错0xc000007b解决方法
  3. python绘制语谱图(详细注释)
  4. 发布一款新闻资讯软件(android版)
  5. 树莓派部署BT下载机
  6. 编写一个函数int isPrime(int x),当x是素数时,返回1,否则返回0; 在main函数中,输入一个正整数,如果是素数输出Y,否则输出N。
  7. 超级棒的一个DP问题详解(入门)
  8. 数据结构~07.栈和队列的基本概念
  9. java二进制计算_Java 二进制,八进制,十进制,十六进制转换运算
  10. JZOJ__Day 10:【普及模拟】【USACO】贝茜的晨练计划