JAVA 进阶

文章探讨了Java中的继承机制,如何通过子类继承父类的非私有成员以优化代码。Java只支持单继承但允许多层继承。接口作为规则声明,包含抽象方法,一个类可以实现多个接口。多态性是对象在不同情况下表现出的不同形态,依赖于继承或实现关系及方法重写。异常处理是程序中错误管理的关键,通过try-catch语句可以捕获并处理异常,包括自定义异常类的创建。
摘要由CSDN通过智能技术生成

Java继承,多态,接口,异常

Java进阶之子类与继承

继承:让类与类之间产生关系,子类可以直接使用父类中非私有的成员‘

  • 格式 ;public class 子类名 extends 父类名{}
  • fu; 是父类的意思;也被叫做基类或超类
  • zi;是子类,也叫做派生类

在这里插入图片描述

  • 当我们需要重复用到一些变量时,每次单独定义就会造成代码冗杂,此时可以用继承来优化代码,我们可以将相同的内容提取编写一个类,关键字extends,可以用来建立这种关系如下:

    public class Emp{
    String name;
    int age;
    double salary;
    }
    public class he extends Emp{

    }
    public class she extends Emp{

    }

    public class Example_1{
    public static void main(String [] args){
    he he1 = new he();
    she she1 = new she();
    she1.neme = llllll;
    he1.age = 88;//直接引用成员变量
    he1.salary = 9999;
    System.out.peintln(“她的名字;”+she1.name);
    System.out.println(“他的年龄 :”+he1.age,“他的薪水”+he1.salary);
    }

    }

注意:使用private修饰的成员变量是无法继承的,此时可用get set 方法使用

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

变量引用就近原则

在这里插入图片描述
当子类与父类重名时,先调用子类,若用super后可调用父类变量

继承中方法的继承

  • 当子类方法与父类方法一样时,调用会优先使用优先使用子类方法,实际上是子类方法对父类的重写
    在这里插入图片描述

继承中类方法的特点

. 支持单继承,不支持多继承,但可以多层继承。
在这里插入图片描述

接口

  • 接口体现的是规则的声明,java中接口更多的的体现对行为的抽象(一个类中所有的方法都是抽象方法)
在这里插入代码片package com.itheiam.minterface;

/*
接口就是声明规则

接口和类之间是实现关系
 */
public class jk {
    public static void main(String [] args){
        //创建实现的对象
        student student1 = new student();
       student1.sleep();
       student1.speak();
    }
}
interface  inter{
    public void speak();
    public void sleep();
}
class student implements inter{
//重新接口的抽象方法
    @Override
    public void speak() {
        System.out.println("asdhsadasdhsahdhas");
    }

    @Override
    public void sleep() {
        System.out.println("SDUHASDHJKASJKDKASDK");
    }
}
abstract class oo implements inter{
    
}//可以把实现类变成抽象类就不会报错了

在这里插入图片描述

接口的成员特点

  • 成员变量
  • 一般方法
  • 构造方法:没有

1.接口的成员变量默认被public和static和final修饰`

在这里插入图片描述
2.成员方法默认有public和abstract修饰
在这里插入图片描述

多态

同一个行为具有不同表现形式或形态能力;及对象创建不同其表现形式不同
在这里插入图片描述
多态的前提

  1. 有继承或实现关系
  2. 要有方法重写
  3. 父类引用指向子类对象

在这里插入图片描述

异常

所谓异常就是指程序运行可能出现的一些错误,而异常处理将会改变程序运行的流程,让程序有机会处理异常的错误。比如出现了分母为0的除法。
在这里插入图片描述
我们可以使用选择语句进行修改
在这里插入图片描述
我们也可以用try -catch语句处理
在这里插入图片描述
在这里插入图片描述

package com.itheiam.minterface;

import jdk.jfr.events.ExceptionThrownEvent;

public class jk {
    public static void main(String [] args){
        int a = 0;
        int b = 8;
        try {
            System.out.println("值:"+(b/a));
        }catch (Exception e){
            System.out.println("值;"+(b/(a*a)));
        }finally {
            System.out.println("程序结束");
        }{

        }


    }
}

如上图所示

自定义异常类

在这里插入图片描述
在这里插入图片描述

在这里插入代码片import jdk.jfr.events.ExceptionThrownEvent;

public class jk {
    public static void main(String [] args){


    }
}
class  yichang extends Exception{
    String M;
    public  yichang(int m){
        M = "CUOWU"+m+"ll";
    }
    public String FAH(){
        return M;
    }
}
class age{
    int age;
    public age(int age){
        this.age=age;
    }
    int getAge(){
        return age;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值