java实验六(继承、接口、异常相关知识点)

定义一个学生类,定义一个大学生类和小学生类,这两个类是学生类的子类;定义一个选课接口,由大学生类实现该接口,并定义一个年龄异常处理,当小学生

年龄小于7岁时,弹出异常。

import java.util.Scanner;

interface XuanKe        //选课接口
{
    void xuanKe(String xuanke);
}

class AgeException extends Exception
{
    String message;

AgeException(int age)
    {
        message=age+"小学生年龄不能小于七岁";
    }

public    String toString()
    {
        return message;
    }
}

class Student            //学生类
{
    static String name;
    static int age;
    static char sex;

Student()        //默认构造器
    {

}

Student(String name,int age,char sex)  //定义一个可以为姓名、年龄、性别赋值的构造器
    {

this.name = name;
        this.age = age;
        this.sex = sex;
    }

String getName()
    {
        return this.name;
    }

int getAge()
    {
        return this.age;
    }

char getSex()
    {
        return this.sex;
    }

void sayHello()        //sayHello方法
    {
        System.out.println("好好学习,天天向上!");
    }

}

class XStudent extends Student        //定义一个小学生类,继承了学生类
{
    XStudent(String name,int age,char sex)     throws  AgeException    //定义了一个为小学生姓名、年龄、性别初始化的构造器
    {
        if(age<7)
        {
            AgeException xiaoyuqi = new AgeException(age);
            throw xiaoyuqi;
        }

Student.name = name;
        Student.age = age;
        Student.sex = sex;
    }

void sayHello()            //重写了sayHello方法
    {
        System.out.println("小学生应该好好学习天天向上!");
    }
}

class DStudent extends Student implements XuanKe        //定义了一个大学生类,继承了学生类并实现了接口方法
{

DStudent(String name,int age,char sex)        //定义了一个为大学生姓名,年龄,性别初始化的构造器
    {
        Student.name = name;
        Student.age = age;
        Student.sex = sex;
    }

public  void xuanKe(String xuanke)            //实现接口中的选课方法
    {
        System.out.println("大学生"+Student.name+"选修了"+xuanke+"课");
    }

void sayHello()        //重写父类的sayHello方法
    {
        System.out.println("大学生应该好好学习天天向上");
    }
}

public class ExStudent
{
    public static void main(String args[])
    {
       /*      DStudent daxuesheng = new DStudent("小王",20,‘男‘);
            System.out.println("请输入您的选课");
            Scanner reader = new Scanner(System.in);
            String    xuanke=reader.nextLine();
            daxuesheng.xuanKe(xuanke);   */

try
            {
                XStudent xiaoxuesheng = new XStudent("小张",6,‘女‘);
                xiaoxuesheng.sayHello();
            }
            catch(AgeException e)
            {
                System.out.println(e.toString());
            }
    }
}

时间: 2024-10-30 08:38:03

java实验六(继承、接口、异常相关知识点)的相关文章

实验六 继承定义与使用

实验六 继承定义与使用 实验时间 2018-9-28 1.实验目的与要求 (1) 理解继承的定义: (2) 掌握子类的定义要求 (3) 掌握多态性的概念及用法: (4) 掌握抽象类的定义及用途: (5) 掌握类中4个成员访问权限修饰符的用途: (6) 掌握抽象类的定义方法及用途: (7)掌握Object类的用途及常用API: (8) 掌握ArrayList类的定义方法及用法: (9) 掌握枚举类定义方法及用途. 2.实验内容和步骤 实验1: 导入第5章示例程序,测试并进行代码注释. 测试程序1:

201771010124 王海珍 《实验六 继承定义与使用》第六章实验总结

第一部分:理论知识学习部分 第五章 第五章学习内容主要分为七个模块,分别为: 1.类.超类和子类: a. 类继承的格式: class 新类名extends已有类名. b. 已有类称为:超类(superclass).基类(base class) 或父类(parent  class) 新类称作:子类(subclass).派生类(derived  class)或孩子类(child class) c.super是一个指示编译器调用超类方法的特有关键字,它不是一个对象的引用,不能将super赋给另一个对象

java第六章:异常机制

Exception 机制 就是在程序执行过程中,出现的异常事件,导致程序的中断. 解决异常的方法:使用try,catch,finally,throw,throws五个关键字解决: 1.try...catch...√ 2.try...catch...catch...√ 3.try...catch...finally...√ 4.try...finally...√ 5.catch...finally...写法错误 finally块中的语句总会被执行,常常写的是资源释放的代码,有return也会被执行

JAVA基础笔记(很实用)继承-多态-抽象类-接口-异常-集合-IO-线程-Socket

第七章:Java继承 一.继承的概念 1.一个父类派生出一个子类的机制称为继承. 2.承是重用程序代码的有力手段,当多个类之间存在相同的属性和方法时,可以从这些类中抽象出父类. 3.们只需要在父类中定义这些属性和方法,而子类无须重新定义这些属性和方法,直接从父类继承即可. 4.通过继承,子类就会自动的拥有在父类中定义的属性和方法. 5.两个或多个类的成员中存在一部分相同的情况,通过继承机制,可以利用现有的类来创建新的类. 6.子类不但拥有父类的成员,还可以定义新的成员. 7.可以提高软件的可重用

黑马程序员——Java基础——面向对象——继承、抽象类、接口、多态、包、内部类、异常等

第一讲 继承 1.继承: 当多个类拥有相同的功能时,那么这些类不需要每个都写这些相同的功能,只需要把相同功能抽到 一个单独的类中,继承这个类就能获得这些相同的功能: (1)继承的体系结构:就是对要描述的事物进行不断的向上抽取,就出现了体系结构. 要了解这个体系结构中最共性的内容,就看最顶层的类. 要使用这个体系的功能,就用最底层的类创建对象 (2)好处: A.提高代码复用性: B.继承的出现,让类与类之间产生关系,为多态的前提 (3)特点: A.只能单继承(准确的说是java对多继承进行优化,避

Java基础笔记-继承、抽象类、接口、多态、内部类、异常

继承:多个类具有相同的属性和行为时,将这些内容单独抽取到一个单独的类中,那么多个类无需再定义这些属性和行为,直接继承那个类即可 1)  多个类称为子类,单独的类称为父类或者超类 2)  子类可以继承父类中非私有的属性和方法 3)  通过extends关键字让类与类之间建立继承关系 4)  继承的出现提高了代码的复用性,让类与类之间产生了关系,为多态的出现提供了前提 5)  不能为了实现某类的功能,简化代码而继承,必须是类与类之间具有所属关系才可以继承,所属关系:is a 6)  特点:java只

Java程序员必备:异常的十个关键知识点

前言 总结了Java异常十个关键知识点,面试或者工作中都有用哦,加油. 一. 异常是什么 异常是指阻止当前方法或作用域继续执行的问题.比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异常. 一个文件找不到的异常: public class TestException { public static void main(String[] args) throws IOException { InputStream is = new FileInputStream("jaywei.t

java相关知识点

Java基础.语法 1. 简述Java跨平台原理 2. Java的安全性 3. Java三大版本 4. 什么是JVM?什么是JDK? 什么是JRE? 5. Java三种注释类型 6. 8种基本数据类型及其字节数 7. i++和++i的异同之处 8. &和&&的区别和联系,|和||的区别和联系 9. 用最有效率的方法算出2乘以8等于多少 10. 基本数据类型的类型转换规则 11. if多分支语句和switch多分支语句的异同之处 12. while和do-while循环的区别 13.

Java核心技术 第六章 接口和内部类

Java核心技术  第六章  接口与内部类 接口: 任何实现Comparable接口的类都需要包含compareTo方法,并且这个方法的参数必须是一个Object对象,返回一个整数数值. 在Java SE 5.0中,Comparable接口已经改进为泛型类型. 接口中所有的方法自动的属于public.因此,在接口中声明方法时,不必提供关键字public. 接口中决不能含有实例域,也不能在接口中实现方法. 要让一个类使用排序服务,必须让它实现compareTo方法,因此必须实现Comparable