JAVA 子父类的特点

一、变量(属性)
    this 代表当前对象的引用 this.变量 首先在本类中找所需要的这个变量,如果没有找到再去父类中找
    super 用于访问当前对象的父类成员 super.变量 直接在父类里面找

二、函数(方法)
    当子类中出现父类中一样的函数时,当子类对象调用该函数,
    运行的是子类中的函数,如同父类中的函数被覆盖了一样,
    这种情况就是函数的另一种特性:重写(覆盖)

注意:
        1、子类成员覆盖父类成员时,必须要保证子类的权限大于等于父类,才可以覆盖,否则编译出错
            访问权限修饰符:public公共的 default默认的 private私有的   成员前面没加任何访问权限修饰符默认权限就是defalut
        2、静态的只能覆盖静态的
    记住:
        重载:只看同名的方法的参数列表
        重写:子父类方法要一模一样

三、构造函数(构造方法)

时间: 2024-07-29 03:01:28

JAVA 子父类的特点的相关文章

Java子父类间静态代码块、非静态代码块、构造方法的执行顺序

子类A继承父类B,A a=new A(); 正确的执行顺序是:父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数 也就是说非静态初始化块的执行顺序要在构造函数之前. class FatherStaticTest { static { System.out.println("执行父类的静态代码块."); } FatherStaticTest() { System.out.println(&qu

Java 继承之子父类中的成员变量和函数

成员变量: 先看这样一段代码: //父类. class Fu { int num = 3; } class Zi extends Fu { int num = 4; void show() { System.out.println("num = "+this.num); } } class ExtendsDemo { public static void main(String[] args) { Zi z = new Zi(); z.show(); } } 从一张图来看它的原理: 图

JAVA之旅(六)——单例设计模式,继承extends,聚集关系,子父类变量关系,super,覆盖

JAVA之旅(六)--单例设计模式,继承extends,聚集关系,子父类变量关系,super,覆盖 java也越来越深入了,大家加油吧!咱们一步步来 一.单例设计模式 什么是设计模式? JAVA当中有23种设计模式,解决某一问题最有效的方法 单例设计模式 解决一个类在内存中只存在一个对象 想要保证对象唯一该怎么做> 1.为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象 2.还为了让其他程序访问到该类对象,只好在本类中自定义一个对象 3.为了方便其他程序对自定义对象的访问,可以对外提供

java基础-子父类中的成员变量

/*子父类成员特点 成员: 1.成员变量 2.函数 3.构造函数 变量: this: 代表当前对象的引用 this.变量 首先在本类中找所需要的这个变量,如果没有找到,再去父类中找 super:用于访问当前对象的父类成员 super.变量 直接在父类中找所需变量 */ class Pers{ String name="张三"; } class Stud extends Pers{ String name="李四"; void view(){ System.out.p

java学习之继承之子父类中变量的特点

子父类出现后,类成员的特点: 明确一个类中的成员组成:1.变量 2.函数 3.构造函数 首先,看1.变量: 如果子类中出现非私有的同名成员变量时, 子类要访问本类中的变量,用this 子类要访问父类中的同名变量,用super super的使用和this的使用几乎一致 this代表的是本类对象的引用 super代表的是父类对象的引用 其次,看2.函数: 当子类出现和父类一模一样的函数时,当子类对象调用该函数,会运行子类函数的内容,如同父类的函数被覆盖一样. 这种情况是函数的另一个特性重写(覆盖)

子父类中的构造函数

继承: 特点: 1,提高了代码的复用性. 2,让类与类之间产生关系,是多态性的前提. Java中的继承. 1,java只支持单继承,不支持多继承.为啥呢?答案:因为继承了多个父类如果有相同方法时, 子类对象不确定运行哪一个. 2,Java还支持多层继承.A-->B--->C 原来可以形成继承体系. 想要使用体系功能,"查阅父类功能,建立子类对象调用功能." 注解:父类的由来其实是由事物中的共性内容不断向上抽取而来的. 所以父类中定义的是该体系中的最基本,最共性功能. 继承出

面向对象(子父类中函数的特点-覆盖)

/* 2,子父类中的函数. 当子类出现和父类一模一样的函数时,//不同名的函数,父类中的非私有函数子类乐意直接拿来用. 当子类对象调用该函数,会运行子类函数的内容. 如同父类的函数被覆盖一样. 这种情况是函数的另一个特性:重写(覆盖)   //前面讲了一个函数的特性,重载//其实父类中的方法还在内存当中,只是没有运行而已. 当子类继承父类,沿袭了父类的功能,到子类中,  //覆写的好处可以用于扩展. 但是子类虽具备该功能,但是功能的内容却和父类不一致, 这时,没有必要定义新功能,而是使用覆盖特殊

2016.7.11子父类中方法的覆盖要点

子类new出来的对象,可以调用父类中的方法(private修饰的除外),但当子类中出现父类方法名以及参数一样的方法时,子类中的方法就是重载,覆盖父类中的相同的方法. 注意的方面: 1.子类中的方法与父类中的方法在“有无返回”.“有无参数”都应该一样的.不一样无法覆盖,但是子类中的方法还是可以被调用的,因为它就是区别于父类中的方法了. 2子类中权限修饰符的等级一定要大于或者等于父类中的,不然也是无法覆盖的哦.(public>defualt默认的>private) 3.静态的方法只能覆盖静态的方法

java中父类的静态方法不能被重写

Java中父类的静态方法确实不能被重写的,但是有的人可能去做实验发现在子类中去重写父类static方法时,并没什么问题.这里我来具体解释下. public class Parent { public static void add(){   System.out.println("=========Parent");}} public class Children extends Parent { public static void add(){   System.out.print