Java基础学习-extends继承(成员变量,局部变量,成员方法)

package extend;
/*面向对象-继承:
 *         多个类的共同成员变量和成员方法。抽取到另一个类中(父类),我们多个类就可以访问到父类的成员了
 * */
class Game{
    String name;
    double vesion;//版本号
    String agent;//代理商
    public void start() {
        System.out.println("游戏启动");
    }
    public void stop() {
        System.out.println("游戏关闭");
    }
}
class CF extends Game{

}
class LOL extends Game {

}
public class extend {
    public static void main(String[] args) {
        CF cf=new CF();
        cf.start();
        LOL lol=new LOL();
        lol.start();
    }
}

初步的认识后,现在来看下继承在java中的特点

package extend;

class update{
    public void update() {
        System.out.println("更新了");
    }
}
class QQspeedandchuangqi extends update{
    public void start() {
        System.out.println("game start.....");
    }
    public void stop() {
        System.out.println("game stop.....");
    }
}
class QQspeed extends QQspeedandchuangqi{

}
class Chaungqi extends QQspeedandchuangqi{

}

public class extends_java_special {
    public static void main(String[] args) {
        QQspeed qqspeed=new QQspeed();
        Chaungqi chaungqi=new Chaungqi();
        qqspeed.update();
        qqspeed.start();
        qqspeed.stop();
    }
}在以上代码中我们可以发现,java中的继承,不能实现一对多个父类,而可以多层次的继承。

继承中的成员变量,局部变量的特点:

package extend;
class parents{
    private String name="我是parents的成员变量";
}
class Father extends parents{
    public void speak() {
        System.out.println("我叫"+name);
    }
}
public class extends_member {
    public static void main(String[] args) {
        Father father=new Father();
        father.speak();
    }
}
/*在上述代码中  子类(Father类)继承了parents(父类),父类中有私有变量name,但是子类访问不了父类的私有变量,所以那么会报错*/
package extend;
class parents{
    String name="我是parents的成员变量";
}
class Father extends parents{
    String name="我是Father的成员变量";
    public void speak() {
        System.out.println("我叫"+name);
    }
}
public class extends_member {
    public static void main(String[] args) {
        Father father=new Father();
        father.speak();
    }
}
/*在上述代码中  子类(Father类)继承了parents(父类),父类中有成员变量name,但是子类也有成员变量name,
 * 此时的打印输出为:我叫我是Father的成员变量
 * 所以在同一个名称的成员变量下,对象访问的应该是子类的成员变量
 */
package extend;
class parents{

}
class Father extends parents{
    String name="我是Father的成员变量";
    public void speak() {
        String name="我是Father的局部变量";
        System.out.println(name);
    }
}
public class extends_member {
    public static void main(String[] args) {
        Father father=new Father();
        father.speak();
    }
}
/*在上述代码中  子类(Father类)继承了parents(父类),父类中有成员变量name1,但是子类也有成员变量name2,
 * 此时的打印输出为:我叫我是Father的局部变量
 * 所以在有局部变量的时候就用局部变量,遵循就近原则
 */

总结下继承中的成员变量,局部变量的特点:
1.子类(Father类)继承了parents(父类),父类中有私有变量name,但是子类访问不了父类的私有变量。2.子父类中有相同名称成员变量,则依照就近原则,用子类的成员变量3.子父类中有不通的名称成员变量,则使用父类中的成员变量4.如果有局部变量就是用局部变量super:可以访问父类的成员this:引用当前对象

接下来是继承中的成员方法特点:

子类没有方法:package extend;
class parents{
    public void speak() {
        System.out.println("父母");
    }
}
class Father extends parents{
}
public class extends_member {
    public static void main(String[] args) {
        Father father=new Father();
        father.speak();
    }
}
子类有同名方法
package extend;
class parents{
    public void speak() {
        System.out.println("父母");
    }
}
class Father extends parents{
    public void speak() {
        System.out.println("爸爸");
    }
}
public class extends_member {
    public static void main(String[] args) {
        Father father=new Father();
        father.speak();
    }
}

/*如果子类中有这个方法,那么会进行方法的重写,覆盖父类方法,因为父类的方法不一定子类都具备。
如果子类没有方法,那么就会使用父类的方法。*/

原文地址:https://www.cnblogs.com/bai-boy/p/10316364.html

时间: 2024-12-28 18:02:10

Java基础学习-extends继承(成员变量,局部变量,成员方法)的相关文章

java基础学习笔记-继承

继承是复用程序代码的有力手段,当多个类(Sub1,Sub2,...Sub100)之间存在相同的属性和方法时,可从这些类中抽象出父类Base.在父类Base中定义这些相同的属性和方法,所有的Sub类无须重新定义这些属性和方法,而只需要通过extends语句来声明继承Base类: public class Sub extends Base {...} Sub 类就会自动拥有在Base类中定义的属性和方法. 6.1 继承的基本语法 在JAVA语言中,用extends 关键字来表示一个类继承了另一个类,

Java基础学习之(6)--继承+访问权限

一.继承的相关概念: B继承A可以描述为:B是一种A,B是一种A的继承关系,B从A继承. 子类自动拥有基类(父类)的所有成员(包括成员变量和成员方法). java只支持单继承,c++支持多继承,但是Java有多种语义存在.  child类中n_private=10是错的,因为子类拥有父类私有变量的访问权,但是没有使用权:即私有变量,只在父类对象中可以访问!!!  二.访问控制: 对象成员的权限有private,default,protected,public. 类的权限只有public,defa

继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类。 (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法。 (3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承。 (4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。 分析以上程

继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法.(3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承.(4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承. 分析以上程序示例,主要疑惑点是“子类继承父类的成员变量,父类对象是否会实例化?私有成员变量是否会被继承?被继承的成员变量

java基础学习总结——java环境变量配置(转)

java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之后,还需要在电脑上配置"JAVA_HOME”."path”."classpath"这三个环境变量才能够把java的开发环境 搭建好.在没安装过jdk的环境下,path环境变量是系统变量,本来存在的,而JAVA_HOME和classpath是不存在的. 一.配置JAVA_HOME变量 操作步骤(win7系统):计算机→右键“属性”→高

java基础学习-变量&运算

package com.J; public class java { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub float a=1.11111111111111f;    // 数据表示单精度末尾+"f",此处数据存储要溢出 double b=1.1111111111111111;  // java里面默认小数都为double双精度浮点

谈谈java中成员变量与成员方法继承的问题

谈谈java中成员变量与成员方法继承的问题 关于成员变量和成员方法的的继承问题,我也可以做一个小测试,来看看结果. 首先我们先创建一个父类: 其次再创建一个子类,子类中要比父类中少一个成员方法: 这样我们对子类创建对象,如果不创建对象,我们是无法访问子类的成员变量和成员方法的,因为“无法从静态上下文中引用非静态方法”.我们要输出有: 从以上的数据中,我们就可以得出的输出结果是 这样我们就可以得出结论. 总结: 1.   在结果中可以看出,子类的成员变量和成员方法,与其父类的相同的时候,子类就会覆

Java基础学习191221(可变参数,数组,Array类,稀疏数组,继承重写多态,抽象类,接口)

Java基础学习 可变参数 在方法声明中,在指定参数类型后加一个省略号(...). 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数.任何普通参数都必须在它之前声明. public class printMax { public static void main(String[] args) { printMax(1,5,8,78,415,15); } public static void printMax( double... numbers){ if (numbers.length

Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API

不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权限修饰符,默认访问, 类,方法,成员变量 private 权限修饰符,私有访问, 方法,成员变量 static 静态修饰符 方法,成员变量 final 最终修饰符 类,方法,成员变量,局部变量 abstract 抽象修饰符 类 ,方法 我们编写程序时,权限修饰符一般放于所有修饰符之前,不同的权限修饰

No_16_0229 Java基础学习第九天

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.02.29 lutianfei none final 关键字多态多态概述多态的分类:多态中的成员访问特点:多态中的转型问题抽象类抽象类概述抽象类特点抽象类的成员特点抽象类的几个小问题接口接口概述接口特点接口成员特点类与类,类与接口以及接口与接口的关系抽象类和接口的区别 final 关键字 final关键字是最终的意思,可以修饰类,成员变量,成员方法. 特点: 修饰的类,类不能被继承 修饰的变量,变量就变成了常量,只能被