第六周学习报告

又经过了一周的学习,今天对本周学习进行总结 本周学习了Java面向对象进阶内容

抽象类和抽象方法

抽象类
使用abstract关键字声明的类被称为抽象类。抽象类不能被实例化。

抽象方法

使用abstract关键字声明的方法被称为抽象方法。抽象方法没有方法体,即大括号{}内没有代码实现。
抽象方法只能存在于抽象类中,或作为接口的一部分。如果一个类包含了抽象方法,那么这个类也必须被声明为抽象类。
示例

// 定义一个抽象类
abstract class Animal {
    // 抽象方法
    abstract void eat();
    // 非抽象方法
    void sleep() {
        System.out.println("Animal is sleeping.");
    }
}
// 实现抽象类的子类
class Dog extends Animal {
    // 必须实现父类的抽象方法
    void eat() {
        System.out.println("Dog is eating.");
    }
    // 可以选择重写非抽象方法
    void sleep() {
        System.out.println("Dog is sleeping soundly.");
    }
}
public class TestAbstract {
    public static void main(String[] args) {
        // 由于Animal是抽象类,不能直接实例化
        // 创建Dog类的实例
        Dog myDog = new Dog();
        // 调用方法
        myDog.eat();
        myDog.sleep();
    }
}

接口

接口是一种引用类型,和类一样,也是一种类型,是由常量、抽象方法组成的特殊类。
接口中的方法默认是public abstract
接口中可以有常量
接口不能被实例化,接口没有构造方法,因为接口代表的是一个规范,不能直接被实例化。
一个类可以实现多个接口,但只能继承一个类
接口与接口之间可以继承
示例

public interface InterfaceName {
    // 常量声明
    public static final int CONSTANT_NAME = value;
    // 抽象方法声明
    void method1();
    default void defaultMethod() {
        // 方法体
    }
    static void staticMethod() {
        // 方法体
    }
}

内部类

成员内部类
成员内部类是非静态的,它依赖于外部类的实例。
静态内部类
静态内部类不依赖于外部类的实例,可以在没有外部类实例的情况下创建静态内部类的实例。静态内部类不能访问外部类的非静态成员,但可以访问外部类的静态成员。
局部内部类
局部内部类是定义在方法或作用域内的类。它只能在其定义的作用域内被访问和使用,并且不能包含静态成员。局部内部类可以访问外部类的成员,也可以访问定义它的方法或作用域内的局部变量。
匿名内部类
匿名内部类是没有名称的内部类,它通常用于实现接口或继承其他类。

posted @   muxin1630  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示