精华内容
下载资源
问答
  • java子类继承父类的方法(代码简略版)
    千次阅读
    2021-02-12 14:55:59

    父类:

    public class Subjects {

    public void b() {

    System.out.println("学科");

    }

    public void a(){

    System.out.println("这是继承父类的方法:Subjects");

    }

    public void c() {

    System.out.println("这是父类的数学");

    }

    public void d() {

    System.out.println("这是父类的英语");

    }

    public void e() {

    System.out.println("这是父类的体育");

    }

    }

    语文子类:

    public class Language extends Subjects{

    @Override

    public void b(){

    System.out.println("这是重写子类的方法:语文");

    }

    public static void main(String[] args) {

    Language language = new Language();// 子类引用指向自身对象

    language.b();// 子类覆盖了父类方法,所以调用新方法

    Subjects subjects = new Language();

    subjects.a();

    }

    }

    数学子类:

    public class Math extends Subjects{

    @Override

    public void c(){

    System.out.println("数学");

    }

    public static void main(String[] args) {

    Math math = new Math();

    math.c();

    Subjects subjects = new Math();

    subjects.a();

    }

    }

    英语子类:

    public class English extends Subjects {

    @Override

    public void c(){

    System.out.println("英语");

    }

    public static void main(String[] args) {

    English english = new English();

    english.d();

    Subjects subjects = new English();

    subjects.a();

    }

    }

    体育子类:

    public class Physical extends Subjects {

    @Override

    public void d(){

    System.out.println("体育");

    }

    public static void main(String[] args) {

    Physical physical = new Physical();

    physical.e();

    Subjects subjects = new Physical();

    subjects.a();

    }

    }

    更多相关内容
  • java方法继承

    千次阅读 2019-03-15 16:18:40
    继承的定义:一个类可以继承另外一个类,继承这个类以后就继承了他所有的属性和方法。 格式表达为:class 子类extends 父类{} 叫法: 继承其他类的类叫做子类,派生类。 被继承的类叫做父类,超类,基类。 ...

    继承的定义:一个类可以继承另外一个类,继承这个类以后就继承了他所有的属性和方法。

    格式表达为:class 子类extends 父类{}

    叫法:
    继承其他类的类叫做子类,派生类。
    被继承的类叫做父类,超类,基类。

    特点:
    1.通常情况下子类的功能大于等于父类。
    2.只能单继承,不能多继承(你只有一个爸爸)
    3.一个类可以被多个类继承(你爸爸可以有多个儿子)
    4.多层继承,一个类的父类可以再继承另一个父类。(所谓的爷爷类,你爸爸除了有儿子还可以有爸爸,就是你爷爷)
    5.其中object是所有类的父类(所谓的祖宗类,所有的类都直接或间接继承他的方法和属性)
    6.子类不能重写父类的私有方法。
    7.子类想获取重写的方法权限,必须大于或者等于父类(private(私有的)<default(默认的)<protected(受保护的)<public(公有的))

    子父类之间代码执行顺序:父类静态代码块—子静态代码块—父构造代码块—父构造方法—子构造代码块—子构造方法
    简单来说就是:
    1.先执行所有静态(由父类开始)
    2.然后执行父类(除静态以外所有的)
    3.然后执行子类的
    在这里插入图片描述

    继承的好处:
    1.可以直接使用父类的接口和成员
    2.可以直接创建子类,而无创建父类
    3.让类与类之间产生关系,是多态的前提

    继承的弊端:
    1.无法改变父类,或者说无法在运行时选择父类。
    2.父类的改变会影响子类的改变。

    继承中成员变量的特点:
    1.只能继承父类的非私有化,成员变量名字相同就用子类名字,如不相同,子类没有,就用父类的
    2.就近原则:谁离得近就用谁。如果有局部变量就先使用局部变量。如果没有局部变量,就先看子类的成员变量。如果子类的成员变量也没有,就看父类的成员变量。
    3.super:和this用法很像,super表示父类。

    展开全文
  • Java继承

    千次阅读 2021-02-13 02:17:13
    Java继承1.什么是继承呢?类似人类中的继承(继承上一辈、上上辈的东西),在Java中就是将一个已知的类进行拓展,让一个新的类来继承这个已知的类,这样就能使这个新的类具有已知类的属性和行为。新的这个类被称为子类...

    Java继承

    1.什么是继承呢?

    类似人类中的继承(继承上一辈、上上辈的东西),在Java中就是将一个已知的类进行拓展,让一个新的类来继承这个已知的类,这样就能使这个新的类具有已知类的属性和行为。

    新的这个类被称为子类或者派生类,已知的类被称为父类或者基类、超类。

    2.为什么使用继承呢?

    将一个类作为父类这样可以使其代码进行重用,在子类中就可以不再需要写父类中已有的属性或者行为了

    3.那在Java中如何实现继承呢?

    (1)先判断是否这些类中存在继承的关系——"is a"?

    什么是"is a"关系呢?

    简单的说就是是否两个或多个类中存在父类与子类,而平时进行比较时多将is a说成是一个,

    (2)判断哪些属性和行为是子类与父类中重复的,可以重用的——"has a"?

    什么是"has a"关系呢?

    这一个可以简单的去思考与观察,如何发现子类与父类中有重复的属性或者行为,则该属性或者行为与该类是"has a"关系,"has a"关系的属性和行为都应该只写在父类。

    (3)创建父类

    在创建父类时和之前创建普通的类是一样的,关键在于需要将"has a"关系的属性或者行为写在父类中。

    (4)创建子类

    在创建子类时和之前的都差不多,关键在于多一个extends关键字

    创建子类继承时需要写为public class Salary extends Employee

    (5)如何书写子类的内容

    ①若子类中出现了父类中没有的属性或者行为,则直接在子类中添加即可

    ②若子类中需要改变父类中原有的行为——实现的方式有所不同,这时需要使用方法重写来完成不同的实现操作

    方法重写

    什么是方法重写呢?

    刚刚其实已经说到了,当父类与子类之间需要将相同的行为拥有不同的实现时,就需要使用重写。

    重写的好处——为什么Java中有方法重写呢?

    可以按照自己的意愿去更改父类的方法实现。

    一般情况下我们会以继承与重写一起说它们的好处

    好处:继承可以使一个类中的代码得到重用,而重写在继承的基础上又可以使子类对父类已有的方法进行重新的实现。

    重写有一些注意事项:

    ①在重写父类的行为时,需要使子类的方法的返回类型、方法名、形式参数列表与父类一致,若仅仅只是方法名相同,参数列表不同则变成了方法的重载。

    ②访问修饰符的访问等级不能小于父类(将在下一章中进行讲解)

    ③子类抛出的异常不能比父类多(在下一册中进行讲解)

    3.那在Java中如何实现继承呢?

    ☆(6)实例化子对象

    如何实例化一个子对象呢?

    和平时实例化对象一样。

    注意:子类可以调用父类中的方法和属性,但是父类则不能调用子类中独有的属性或行为。

    在内存中创建一个对象时,究竟发生了什么呢?

    首先创建了一个父类

    再创建一个子类

    创建子类的过程实际上时在父类的基础上再加上了子类附加的内容

    顺便提一句:

    Java是单继承语言,也就是说一个父类可以有很多子类,而一个子类只能最多拥有一个父类

    除了单继承语言外,还有多继承语言如C++,继承关系就相当的混乱

    根据父类的内容来判断是否能进行某些方法的调用

    注意事项:在Java中所有的类都具有一个父类(根类)——object类

    object可以是一个类的直接父类,也可以是一个类的间接父类,关键看该类是否继承了其它类

    由于Java中object是所有类的父类,因此,所有类都可以调用object类的方法

    public final Class getClass();

    public int hashCode();

    public boolean equals(Object x);

    protected Object clone() throws CloneNotSupportedException;

    public String toString();

    protected void finalize() throws Throwable;

    public final void wait() throws InterruptedException;

    public final void notify();

    注意:Java中object有一个常用的方法toString(),可以将引用转为字符串打印,如果没有调用该方法直接打印引用,Java会自动调用该方法,打印出其地址。

    除了object中的toString()方法,常用的还有equals()方法,该方法用于判断是否两个值相等和==的用处不一样

    ==用于检测是否两个引用指向同一对象,才能返回true

    equals()则只需要匹配值就返回true,若需要更改则重写equals()方法

    在重写equals()方法时会自动添加一个hashCode()方法,该方法是计算equals()中比较值的哈希码(了解),若两个对象是相等的,则哈希码相同

    如果把父类某个方法全部重写,只需要部分修改,那怎么书写呢?

    这个时候我们需要使用super关键字,这个关键字和我们之前讲的this关键字很类似,只不过super关键字代码父类对象,而this代表的是本类对象。

    在子类中也可以调用父类的构造器super(),如果在父类中没有无参的构造,这种情况下子类中super()不会通过编译。

    如果我不想一个类被继承或者一个类中某个行为被继承,那怎么做到呢?

    使用final关键字,之前学习中,使用final关键字构建的符号常量不能被更改

    同理,在类或者方法中使用final关键字则该类或者改方法不能被更改——换言之则是不能被继承或者重写。

    在实例化子类对象时其过程究竟是什么样子的?

    注意事项:当一个子类被实例化时,父类会先被构造,父类构造器必须在子类的构造器执行前执行,若出现祖父类,则从祖父类构造→父类构造→子类构造。

    在一个对象被实例化时,发生下列事件序列:

    ①new运算符调用子类的构造器。

    ②子类会用this关键字调用子类的其它构造器,最后在执行this之后的语句。

    ③在子类的构造器中的任何语句执行前,父类的构造器必须用super()关键字调用,如果没有显示的调用super(),则便与其会用super()调用无参数的父类构造器。

    ④如何父类也有父类,则先执行祖父类,再依次执行。

    ⑤在执行过程中会执行到最高的父类object。

    ⑥object执行后依次往子类执行

    ⑦构造器也会随着执行过程依次执行

    注意:如果要使用super()或者this(),则必须将其放在执行代码第一行

    如果没有调用super()或者this(),则编译器会自动调用无参构造器。

    展开全文
  • java继承构造方法调用顺序

    千次阅读 2021-11-26 19:28:45
    首先根据带参数的对象去找相应类的构造方法,在Child类中找到了带参数的构造方法, 2.因为有super(name)的语句存在,所以会去调用父类的带参数的构造方法,输出People(String name); 3、回到子类中执行输出Child...

    第一种情况:

    在这里插入图片描述

    运行结果:

    People(String name)
    Child(String name)

    分析:1.首先根据带参数的对象去找相应类的构造方法,在Child类中找到了带参数的构造方法,
    2.因为有super(name)的语句存在,所以会去调用父类的带参数的构造方法,输出People(String name); 3、回到子类中执行输出Child(String name)。

    第二种情况:

    在这里插入图片描述

    运行结果:
    People()
    Child(String name)

    分析:
    1、创建了一个带参数的对象,此时会去子类找相应的带参数的构造方法,尽管在该方法中没有写super()语句,但是还是会默认有super()方法的存在
    2、默认的super()方法调用后还是去父类找到无参数的构造方法输出相应的语句。
    3、再返回到子类输出

    以下是一个相对来说较为复杂的调用示例:
    在这里插入图片描述

    分析:
    1、首先创建了child对象,去找子类的构造方法,默认视为super()方法存在
    2、此时去父类的无参构造方法People()方法
    3、加载父类中的私有类型成员变量name
    4、再次进入父类的构造方法里面,包含两个方法的调用
    5、回到子类中寻找该方法playBasketBall(),并输出语句,但是父类的私有变量不能共享,因此输出name值为null
    6、回到子类中寻找该方法playFootBall(),并输出语句,但是父类的私有变量不能共享,因此输出name值为null
    7、父类构造方法的内容执行完毕,正式回到子类中。
    8、继续加载子类的成员变量,执行方法并输出。

    运行结果:
    child_playFootball:null
    child_playBasketball:null
    child_playFootball:jerry
    child_playBasketball:jerry

    展开全文
  • java关于继承的好处

    千次阅读 2021-02-27 15:58:14
    继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。生活中的继承继承关系兔子和羊属于食草动物类,狮子和豹属于食肉动物类。食草...
  • Java继承重写父类方法

    千次阅读 2020-11-03 13:19:21
    Java继承重写父类方法 重写的前提:需要有继承关系,比如B类继承A类,则B类可以重写A类中的方法!(子类重写父类中的方法) 注意点: 子类所要重写的方法名必须与父类的方法名相同 方法的参数列表也必须一致 方法...
  • Java 子类继承父类方法

    千次阅读 2019-05-22 09:13:32
    继承理解:在已有类的基础上创建新类型过程; 例如 一个 B 类继承 A 类,或称从类A派生类 B 类 A 称为基类(父类),类 B 称为派生类(子类) 类继承关系语法形式 Class 派生类名:基本名表 { 数据成员...
  • Java静态方法(类方法)的继承

    千次阅读 2018-01-29 19:55:52
    Java静态方法、静态变量是可以被继承的 背景:最近因为个人工作的原因,转战到Java领域。在学习过程中发现,网上有关Java静态继承,都说不能继承,且子类静态方法重写说成是隐藏了父类方法云云的。 下面我来...
  • java中的静态方法可以被继承

    千次阅读 2021-02-25 20:05:33
    结论:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。原因:1、静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成,不需要继承机制便可以调用。如果子类里面定义了静态...
  • java如何继承

    千次阅读 2021-03-10 10:03:22
    Java语言中,实现类的继承使用extends关键字格式如下: (推荐学习:java课程)[public] class SubClass extends SuperClass{//类体的定义}2、被继承的类称为父类或超类或基类,而继承得到的类称为子类或派生类。...
  • Java继承--父类私有属性和私有方法的继承

    千次阅读 多人点赞 2019-08-12 14:33:17
    Java继承 java中继承是一个重要的特性,使用继承可以大大提升开发的效率。子类继承父类的所有属性和方法,我个人的理解:子类实际上就是在父类基础上进行封装而得到的一个新类。所以子类应该是继承了父类所以的属性...
  • Java子类继承父类详解

    千次阅读 2021-02-12 11:46:34
    别和我说你真的懂了继承,先来看下面的代码,回答出我的问题再说代码很简单,如下:父类:public class T {public void run(){System.out.println("T can run");}public static void main(String args[]){T t = new ...
  • 众所周知,Java是一种面向对象的只允许单继承的语言,这是每个Java程序员从业者都知道定理。 本文的目的,主要从两个方面来思考Java继承的这个问题: 为什么Java类被设计为只能单继承? 怎样曲线实现多继承的效果...
  • java继承指的是什么

    千次阅读 2021-03-06 15:57:29
    java继承指的是什么发布时间:2020-08-20 14:46:11来源:亿速云阅读:55作者:小新这篇文章将为大家详细讲解有关java继承指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以...
  • Java继承

    千次阅读 2021-02-28 08:03:41
    继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。如图动物类下有一个食肉类和一个食草类食肉类下有一个狮子类和一个老虎类食草类...
  • Java继承里,父类的属性还有方法在声明时,如果是public关键字即公共属性,则在子类继承时,这些属性和方法都会被子类继承。受保护的也可以继承但是私有的类属性成员和方法则无法继承。.子类继承父类的成员变量当...
  • Java继承超详细

    万次阅读 多人点赞 2021-03-02 14:58:30
    继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。 继承的作用:通过继承可以快速创建新的类,实现代码的重用,提高程序的可...
  • java继承和多态

    千次阅读 多人点赞 2021-10-08 21:38:20
    继承和多态 文章目录继承和多态继承多态 继承 多态
  • java中的继承详解

    万次阅读 多人点赞 2020-12-19 08:43:00
    继承的描述在现实生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如猫和狗都属于动物,程序中便可以描述为猫...
  • Java 接口多继承

    千次阅读 2021-02-27 09:10:02
    按照理解,一般都是说Java 类是单继承,但可以实现多个接口。但是可以通过接口来实现类的多继承。(如何通过接口来实现多继承???)那么就一直以为Java里面是单继承,今天看FutureTask源码的时候发现,接口居然可以...
  • Java中构造方法继承问题

    千次阅读 2018-09-26 14:13:05
    1.父类的构造方法是不会被子类继承的,但是子类的构造方法中会有一个隐式的super()来调用父类中的无参数构造方法。 验证代码如下: public class FatherClass { int a; int b; public FatherClass() { a ...
  • Java继承的实现

    千次阅读 2019-01-30 20:28:51
    继承描述的是一种能力:可以使用现有类的所有功能,并在无需重新编写原有类的情况下进行功能上的扩展。 要使用继承,必须满足 is-a 原则(代码复用),定义的语法为:子类 extends 父类。 子类:又称为派生类,...
  • 如果父类没有不带参数的构造方法,且子类的构造方法中有没有显式的调用父类其他构造方法,则java编译器会报错 父类无参+子类无参=两者都输出(父类先、子类后) 父类(无参)++子类有参(没有super父类有参)=父类无参+...
  • 再谈 Java继承和超类 Object

    千次阅读 多人点赞 2019-04-17 21:34:00
    继承的好处在于,子类可以复用父类的非private 的方法和非 private成员变量。 is-a是继承的一个明显特征,就是说子类的对象引用类型可以是一个父类。我们可以将通用的方法和成员变量放在父类中,达到代码复用的目的...
  • 一起学JAVA 继承 super

    万次阅读 多人点赞 2021-05-10 08:49:27
    Java继承是会用已存在的类的定义作为基础建立新类的技术 新类的定义可以增加新的数据或者新的功能,也可以使用父类的功能,但不能选择性的继承父类(超类/基类) 这种继承使得复用以前的代码非常容易,能够大大的缩短开发...
  • Java 类的继承详解

    千次阅读 2021-02-12 23:53:43
    这里将对JAVA中的类的继承机制进行讨论。先提一个问题:为什么要使用继承(后面再解答)。1.首先是类继承的写法:继承的关键字:extends格式:public class 类名(子类、派生类、超类) extends 类名(父...
  • Dog继承Animal class Animal{ protected String name; protected String description; protected String say() { return "一只动物"; } } class Dog extends Animal{ private String name;...
  • java可以多重继承吗 有时我写了几篇有关Java继承,接口和组成的文章。 在这篇文章中,我们将研究多重继承,然后了解组成优于继承的好处。 Java中的多重继承 多重继承是创建具有多个超类的单个类的能力。 与其他一些...
  • Java中构造函数可以被继承

    千次阅读 2021-03-11 10:44:08
    Java中构造函数不能被继承。子类在继承父类的时候,首先运行父类构造函数,也就是说,运行子类时会先调用父类的构造函数。构造函数一般用来初始化成员属性和成员方法Java中构造函数不能被继承。解析:子类在继承...
  • java实现多继承的三种方法

    千次阅读 2019-02-25 15:10:48
    1.接口 2.内部类 3.一个父类继承另一个父类

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,380,898
精华内容 552,359
关键字:

java方法的继承

java 订阅