类的继承(构造器)

一、构造器(构造函数/构造方法)
引例:
在Teacher.java这个java文件中构造出teacher这个类:

            public class teacher {}
   对于这个teacher类来说,我们并没有看到什么关于这个类的方法,但系统默认了一个方法为publicteacher () {},这个publicteacher () {} 就为teacher这个类的构造方法;
   当我们在构造窗体的时候,使用的命令为:
              JFrame frame = new JFrame();
   这条命令是实际上是两条命令的复合,即:
              JFrame frame;
              frame= new JFrame();
   这两条命令,第一条为定义一个变量frame,第二条就是使用JFrame这个类构造出一个对象,并将这个对象所在内存中的地址赋值给frame。
   同样的,我们新建一个Test.java来测试刚刚我们创建的teacher类中的构造方法:

    public class Test {
        public static void main(String[] args){
            Teacher teacher = new Teacher();
        }
    }
   同时,我们在上面创建的Teacher类中加上命令
         public class teacher{
              public teacher(){
                System.out.println(“执行了teacher类的构造方法”);
                }
            }

运行代码,不难发现会打印出“执行了teacher类的构造方法”。

定义格式:

        public 类名 () {}

作用:
1、用来构造对象;
2、用来初始化属性;

对于第二点,例如:

        Teacherteacher = new Teacher(“李四”);

二、方法重载
引例:
在使用Eclipse编写java代码时,细心的宝宝们不难发现我们在使用JFrame类中的方法setLocation时,会发现Eclipse中的补全代码会出现两个setLocation,但两个不一样,一个是setLocation(Point args0),一个是setLocation(int args0,int args1),说明这两个方法是不同的,传入参数的不同,但名字相同,我们叫方法重载。
有如下代码:

    publicclass teacher  {
    publicteacher () {}
    publicteacher (int a) {}
    publicteacher (string n) {}
    public teacher (int a ,string n) {}
          publicteacher (string n ,int a) {}
    }

这五个方法名都相同,但参数都不同,所以他们互为重载方法。

定义:同一个类中,多个方法的方法名相同,参数不同(类型、个数、顺序)的方法互为重载方法。

作用:给同一个行为提供不同的执行过程
构造方法也可以重载

三、类继承
引例:
我们来创建三个类:Student、UniStudent、MidStudent;

        public class Student {
            public String name;
            public void study () {

            }
        }

        public class UniStudent () {
            public String name;
            public void study () {

            }
        }

        public class MidStudent () {
            public String name;
            public void study () {

            }
        }

我们不难发现我刚刚创建的三个类中的内容都是一样的,我们说UniStudent和MidStudent是Student中的一个部分,那我们可以使用java中的继承概念,相当于Student为父类,而MidStudent和UniStudent为子类
于是,上面的MidStudent和UniStudent可以改写为:

    public class MidStudent extends Student {}

    public class UniStudent extends Student {}

定义:子类继承父类的所有的非私有属性和方法

格式:

    public class子类名 extends 父类名 {}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值