当前位置:首页 > Java

java子类如何设置

2026-03-21 05:23:32Java

在Java中设置子类

子类是通过继承父类来创建的,使用关键字extends。子类可以继承父类的属性和方法,同时也可以添加新的属性和方法,或重写父类的方法。

class ParentClass {
    // 父类的属性和方法
}

class ChildClass extends ParentClass {
    // 子类特有的属性和方法
}

子类继承父类的属性

子类会自动继承父类的非私有(publicprotected或默认访问权限)属性。如果父类的属性是private的,子类无法直接访问,需要通过父类提供的公共方法(如gettersetter)来访问。

class ParentClass {
    protected String name;
    private int age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

class ChildClass extends ParentClass {
    public void display() {
        name = "Child"; // 可以直接访问protected属性
        setAge(10); // 通过父类方法访问private属性
    }
}

子类重写父类方法

子类可以重写父类的方法,以提供不同的实现。重写方法时,方法名、参数列表和返回类型必须与父类方法一致。使用@Override注解可以确保方法被正确重写。

class ParentClass {
    public void display() {
        System.out.println("Parent display");
    }
}

class ChildClass extends ParentClass {
    @Override
    public void display() {
        System.out.println("Child display");
    }
}

子类调用父类构造方法

子类的构造方法可以通过super()调用父类的构造方法。如果父类没有默认构造方法,子类必须显式调用父类的某个构造方法。

class ParentClass {
    protected String name;

    public ParentClass(String name) {
        this.name = name;
    }
}

class ChildClass extends ParentClass {
    public ChildClass(String name) {
        super(name); // 调用父类构造方法
    }
}

子类添加新方法

子类可以扩展父类的功能,添加新的方法。这些方法只能在子类中调用,父类无法访问。

class ParentClass {
    public void parentMethod() {
        System.out.println("Parent method");
    }
}

class ChildClass extends ParentClass {
    public void childMethod() {
        System.out.println("Child method");
    }
}

子类与多态

子类对象可以赋值给父类引用,实现多态。通过父类引用调用方法时,实际执行的是子类重写的方法。

ParentClass obj = new ChildClass();
obj.display(); // 调用子类重写的方法

子类访问父类的静态成员

子类可以直接访问父类的静态成员(属性和方法),但静态成员不能被重写,只能被隐藏。

class ParentClass {
    public static void staticMethod() {
        System.out.println("Parent static method");
    }
}

class ChildClass extends ParentClass {
    public static void staticMethod() {
        System.out.println("Child static method");
    }
}

子类与抽象类

如果父类是抽象类,子类必须实现父类的所有抽象方法,除非子类也是抽象类。

abstract class ParentClass {
    public abstract void abstractMethod();
}

class ChildClass extends ParentClass {
    @Override
    public void abstractMethod() {
        System.out.println("Implemented abstract method");
    }
}

子类与接口

子类可以实现多个接口,接口中的方法必须在子类中实现。

java子类如何设置

interface Interface1 {
    void method1();
}

interface Interface2 {
    void method2();
}

class ChildClass implements Interface1, Interface2 {
    @Override
    public void method1() {
        System.out.println("Method1");
    }

    @Override
    public void method2() {
        System.out.println("Method2");
    }
}

分享给朋友:

相关文章

react如何设置路由

react如何设置路由

在React中设置路由通常使用react-router-dom库,以下是具体实现方法: 安装react-router-dom 通过npm或yarn安装最新版本的react-router-dom:…

react如何设置默认需要

react如何设置默认需要

设置默认值的常见方法 在React中,可以通过多种方式为组件或表单元素设置默认值。以下是几种常见场景的解决方案: 为表单元素设置默认值 使用defaultValue属性(非受控组件)或通过状态初始化…

react 中如何设置图片

react 中如何设置图片

使用 img 标签直接引入图片 在 React 中可以直接使用 HTML 的 img 标签,通过 src 属性指定图片路径。路径可以是本地文件或远程 URL。 function ImageCom…

react 后如何设置端口

react 后如何设置端口

修改默认端口的方法 在React项目中,默认的开发服务器端口通常是3000。如果需要更改端口,可以通过以下几种方式实现。 通过环境变量设置端口 在项目根目录下创建或修改.env文件,添加以下内容:…

react如何设置全局变量

react如何设置全局变量

在React中设置全局变量 React本身不提供全局变量的概念,但可以通过以下几种方式实现类似功能: 使用Context API 创建全局状态管理的最常见方法是使用React的Context API…

react网络请求如何设置代理

react网络请求如何设置代理

在 React 中设置代理 React 项目中可以通过配置代理解决跨域问题,以下是常见的几种方法: 使用 create-react-app 的 proxy 配置 在 package.json 中直接…