首页 > 编程语言 >java教程之java继承示例详解

java教程之java继承示例详解

时间:2022-10-27 10:38:36浏览次数:46  
标签:java 示例 void public 详解 SuperClass 父类 class

什么是继承(extends)?
  继承是:新定义的类是从已有的类中获取属性和方法的现象。 这个已有的类叫做父类, 从这个父类获取属性和方法的类叫做子类。
  ExtendsDemo1.java
  复制代码 代码如下:
  public class ExtendsDemo1 {
  public static void main(String[] args) {
  Truck t=new Truck();
  t.size=100; //不建议这么写。初始化成员变量最好使用构造方法,或者提供set(), get()接口.
  //货车类的一个实例t从汽车类从继承了size, color属性。
  //而货车比汽车多一个货箱
  }
  }
  class Car { //汽车
  int size; //车体大小
  String color; //颜色
  }
  class Truck extends Car { //货车
  String packingBox; //货箱
  }
  继承的好处
  1. 提高了代码的重用性
  2. 让类和类之间产生了关系, 为多态创造了条件。
  继承(extends)的格式
  复制代码 代码如下:
  class SubClass extends SuperClass {
  //执行语句;
  }
  super关键字
  1. super关键字和this的用法相同
  2. this代表本类引用, super代表父类引用
  3. 当子类和父类出现同名成员的时候, 可以用super 和 this进行区分
  SuperDemo.java
  复制代码 代码如下:
  public class SuperDemo {
  public static void main(String[] args) {
  new SubClass().showMessage();
  }
  }
  class SuperClass {
  int i=10;
  }
  class SubClass extends SuperClass {
  int i=20;
  public void showMessage() {
  System.out.printf("super.i=%d, this.i=%d
  ", super.i, this.i);
  }
  }
  对从父类继承过来的方法进行重写(Override)
  1. 当子类中出现与父类一模一样的方法(返回值, 函数名, 形参)时, 会出现重写(Override)操作.
  OverrideDemo1.java
  复制代码 代码如下:
  public class OverrideDemo1 {
  public static void main(String[] args) {
  SubClass sc=new SubClass();
  sc.speak();
  }
  }
  class SuperClass {
  public void speak() {
  System.out.println("SuperClass: I am good~");
  }
  }
  class SubClass extends SuperClass {
  @Override //@Override表示下面出现的方法会出现重写操作,由编译器检查,如果达不到重写的条件,就会报错。一定程度上增加了代码的安全性
  和健壮性
  public void speak() {
  super.speak();
  System.out.println("SubClass: I am excellent~~~");
  }
  }
  2. 在对父类方法进行重写(Override)操作的时候,子类不允许出现与父类同名同参但是不同返回类型的方法.
  OverrideDemo2.java
  复制代码 代码如下:
  public class OverrideDemo2 {
  public static void main(String[] args) {
  }
  }
  class SuperClass {
  public void f() {
  }
  }
  class SubClass extends SuperClass {
  @Override
  public int f() {
  return 1;
  }
  }
  3. 子类重写父类的方法的访问权限要大于或者等于父类中被重写的方法
  OverrideDemo3.java
  复制代码 代码如下:
  public class OverrideDemo3 {
  public static void main(String[] args) {
  }
  }
  class SuperClass {
  public void f() {
  }
  }
  class SubClass extends SuperClass {
  @Override
  protected void f() { //把这里的访问权限改为public即可
  }
  }
  访问控制符
  访问控制符有:public, protected, default, private
  有些需要一点包(package)的知识,所以等到讲包的时候再说.
  您可能感兴趣的文章:java中重载,继承,重写和多态的区别JAVA中阻止类的继承(官方和非官方)java中子类继承父类,程序运行顺序的深入分析java实现多线程的两种方式继承Thread类和实现Runnable接口的方法浅谈Java 对于继承的初级理解Java封装、继承、多态三大特征的理解Java的Spring框架中bean的继承与内部bean的注入老生常谈 Java中的继承(必看)浅谈java继承中是否创建父类对象详解java为什么不允许类多重继承却允许接口多重继承

标签:java,示例,void,public,详解,SuperClass,父类,class
From: https://blog.51cto.com/yetaotao/5800186

相关文章

  • java多线程编程详细入门教程
    ##1、概念?线程是jvm调度的最小单元,也叫做轻量级进程,进程是由线程组成,线程拥有私有的程序技术器以及栈,并且能够访问堆中的共享资源。这里提出一个问题,为什么要用多......
  • java安装教程
    很详尽的教程记录一下,方便以后重装系统时重新配置环境。jdk安装与配置jdkforwindows1、下载官网地址:http://www.oracle.com/technetwork/java/ja......
  • java使用SVN详细步骤
    ?????????????????????SVN的使用SVN服务器使用原理图?????????????????????SVN的使用1.将SVA服务器安装完......
  • java jdk1.8.0_221 安装步骤
    OracleJDK下载?官网https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?下载jdk1.8.0_221.需要注册账号登陆才能下载。下载......
  • java运行环境安装及配置教程
    用来进行web开发的工具有很多,Tomcat是其中一个开源的且免费的javaWeb服务器,是Apache软件基金会的项目。电脑上安装配置Tomcat的方法和java有些相同,不过首先需要配置好j......
  • 【java】PreparedStatement addbatch()
    1.建立链接,(打电话拨号)Connectionconnection=getConnection();2.不自动Commit(瓜子不是一个一个吃,全部剥开放桌子上,然后一口舔了)connection.setAutoCo......
  • centos7.0安装java环境
    可以直接用yuminstall命令,但是这样是默认下载,有时安装的版本不是你想要的,有时会出现安装失败java下载版本地址:http://www.oracle.com/technetwork/java/javase/do......
  • ant安装教程java怎么使用ant打jar包ant配置环境
    ApacheAnt,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。Ant是一个Apache基金会下......
  • java使用tess4j 小白教程
    环境:编译器是IDEA,操作系统Win7第一步:下载Tess4J?下载地址:点击打开链接下载后解压,解压后的目录结构如下第二步:引入jar包将上图目录里dist里面的......
  • Java符号求导
    Java符号求导参考SICP中的符号求导思路,使用Java进行实现1.定义表达式形式List<Object>exp//表达式Stringvar//符号表达式有如下几种类型表示形式:常量变量......