Java学习----this和super(在继承中)

public class Base {
    /*public Base() {
        System.out.println("Base 类的初始构造方法");
    }*/

    public Base(int x) {
        System.out.println("Base 类的重载构造方法");
    }

    public void a() {
        System.out.println("Base:a()");
    }

    public void b() {
        // this 在哪个类里就是哪个对象本身
        this.a();
    }

    public static void main(String[] args) {
        Base obj = new Base(2);
        obj.b();
    }
}
Base 类的重载构造方法
Base:a()
public class Sub extends Base{
    public Sub() {
        // 默认调用不带参数的构造方法,因为父类没有不带参数的构造方法,所以要显示调用带参数的构造方法
        //super();
        // 调用父类的构造方法
        super(100);
        // 调用父类的方法
        super.a();
        System.out.println("Sub类的初始化构造方法");
    }

    public static void main(String[] agrs) {
        // 子类对象构造时会先调用父类的构造方法
        Sub obj = new Sub();
    }
}
Base 类的重载构造方法
Base:a()
Sub类的初始化构造方法
时间: 2024-11-03 05:32:07

Java学习----this和super(在继承中)的相关文章

疯狂Java学习笔记(83)----------继承详解

有一段时间没有更新博客了,感觉挺愧疚的,这两天忙着考试,实在没有办法,只能放一放了,还好自己复习的还不错,闲的没事,跟两篇博文,来能弥补一下空虚! 言归正传! 什么是继承? 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 多个类可以称为子类,单独这个类称为父类.超类或者基类. 子类可以直接访问父类中的非私有的属性和行为. 通过 extends 关键字让类与类之间产生继承关系. class SubDemo extends Dem

JAVA学习第十一课(继承)

继承:(extends) 很多类,但是有一些成员,都是重复的,所以为提供复用性,把重复的代码抽取出来,就应用了继承 1.提高了代码的复用性 2.让类与类之间产生了关系,继承给多态提供了前提,没继承就没多态 class MAN { String name; int age; } class student extends MAN //MAN是student的基类,student是MAN的子类 { void study() { System.out.println(name+"正在学习"+

Java学习笔记(九)——继承

一.继承 1.概念: 继承是类于类之间的关系,是一种"is a "的关系 Ps: Java是单继承 2.优势: (1)子类直接拥有父类的所有属性和方法(除了privata) (2)实现代码复用 3.语法规则: 4.一个demo (1)动物类 package com.cnblogs; public class Animal { public int age; public String name; public void eat() { System.out.println("

java学习----JDBC---将数据库连接信息放置配置文件中

目录如下: jdbcConnection.java: package jdbc01; import java.io.InputStream; import java.sql.Connection; import java.sql.Driver; import java.util.Properties; import org.junit.Test; /** * 将jdbc连接解耦,放入配置文件中 * @author sawshaw * */ public class jdbcConnection{

JAVA学习第十三课(继承下:抽象类abstract)

抽象:模糊 == 看不懂 继承:发现事物之间的共性关系,并向上抽取,以提高代码的复用性 事物里都具备这个功能,但是这个功能是什么,怎么去做,不知道,这就涉及到了抽象 1.继承:A,B两个类,都有show的功能,实现方式也一样那么就可以向上抽取其共性,做新类,使A,B继承于新类. 2.抽象:A,B两个类,都有show的功能,但是功能的实现方式不一样,那么向上抽取其方法生明,但是内容不一样,那么就用关键字abstract标识,表示抽象函数,那么这个类也必须用abstract标识,表示抽象类 abst

JAVA学习笔记(三十七)- 创建继承Thread的线程

创建继承Thread的线程 /* * 创建线程方式一:继承自Thread * 步骤: * 1.自定义类,继承自Thread类 * 2.重写run()方法 * 3.创建类的实例,即创建一个线程 * 4.调用线程的start()方法,作用:启动线程.调用run()方法 * * * Thread的run方法,用于存储线程要执行的代码,必须重写此方法 * 启动线程时会自动调用此方法 */ class Demo extends Thread{ @Override public void run() { f

我的java学习笔记(22)关于在框架中显式信息

1.JFrame的结构相当复杂,有四层面板.其中Swing程序员最关心的是内容窗格. 2.绘制一个组件,需要定义一个扩展JComponent的类,并覆盖其中的paintComponent方法. class Exp extends JComponent { public void paintComponent(Graphics g) { ... } } 3.paintComponent方法有一个Graghics类型的参数,这个参数保存着用于绘制图像和文本的设置. 4.在java中,所有绘制都必须使

Java学习之约瑟夫环的两中处理方法

1 package day_2; 2 3 import java.util.Scanner; 4 5 /** 6 * @author Administrator 7 * 约瑟夫环问题: 设编号为 1,2,3,....n的N个人围坐一圈,约定编号为k(1<=k<=n) 8 * 的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次 9 * 类推,直到所有人出列为止,由此产生一个出队编号的序列. 10 * 方法一:数组取模法.(模拟) 11 */ 12 13 p

【JAVA学习笔记】面向对象

编程语言的发展 面向过程的设计思想 面向对象的设计思想 对象和类的概念 类之间的关系 对象和引用 Java类的定义 构造函数 对象的创建和使用 this关键字 static关键字 package和import语句 访问控制 类的继承 方法的重写 final关键字 object类 对象转型 多态 抽象类 接口 编程语言的发展 机器语言 汇编语言 高级语言–面向过程的语言 面向对象的语言 面向过程的思想和面向对象的设计思想 面向对象思维: 合适的方法出现在合适类中 在问题域中,不再考虑一步一步的过程