首页 > 其他分享 >第六周学习报告

第六周学习报告

时间:2024-08-10 11:42:03浏览次数:13  
标签:学习 报告 void 接口 第六周 实例 抽象 抽象类 方法

又经过了一周的学习,今天对本周学习进行总结 本周学习了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() {
        // 方法体
    }
}

内部类

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

标签:学习,报告,void,接口,第六周,实例,抽象,抽象类,方法
From: https://www.cnblogs.com/wangzilin0507/p/18352099

相关文章

  • 8.10第四周周六学习总结
    1vj团队12补题不错的一个题解https://blog.fishze.com/archives/3011)字符串变化(模拟+找规律)题目:给定一个字符串,给定一个特定操作方式:该字符串前半段+该字符串自己+该字符串后半段求next(每一个字符向后移动一个),组成一个新字符串,求经过10^100次这样的操作后,......
  • 2-SAT 学习笔记
    2-SAT用于求解布尔方程组,其中每个方程最多含有两个变量,方程的形式为\((a∨b)=1\),即式子\(a\)为真或式子\(b\)为真。求解的方法是根据逻辑关系式建图,然后求强联通子图,每一个强联通子图的答案都是一样的。建图:这里以模版题为例:题意:给定若干个需要满足的条件,其形式为\(a,1......
  • 大一暑假学习记录6
    这一周我基本完成了刘立嘉老师布置的暑假作业,其中通讯录的录入与显示,整数分解为若干项之和是我认为最难做的题目,前者的难点是sample有查询越界、最大N,反复查询同一记录等等。后者则是样例等价,多行输出难以解决。于是我又重新学习了结构体部分的内容,定义了Contact结构体来存储......
  • 学生Java学习路程-6
    ok,到了一周一次的总结时刻,我大致会有下面几个方面的论述:1.这周学习了Java的那些东西2.这周遇到了什么苦难3.未来是否需要改进方法等几个方面阐述我的学习路程。复习面向对象数组数组的三种初始化方法:默认,静态,动态引用类型Man放入数组中的测试代码数组的拷贝使用规范使......
  • 爆火下28万次!MIT最新-理解深度学习
        最近疯传的-理解深度学习-高达28万次,被认为可能。涵盖了深度学习从基础到高级各个方面的内容,包括基本概念、监督学习、强化学习、线性回归、神经网络、扩散模型等等。全面系统地机器学习的基础概念和深度学习的多种模型,还包括最新的Transformer和图神经网络。 免......
  • 【ACM出版,见刊检索快速稳定】第四届物联网与机器学习国际学术会议(IoTML 2024,8月23-25)
    2024年第四届物联网与机器学习国际学术会议(IoTML2024)将于2024年8月23-25日在中国南昌召开。会议将围绕着物联网和机器学习开展,探讨本领域发展所面临的关键性挑战问题和研究方向,以期推动该领域理论、技术在高校和企业的发展和应用,为专注于该研究领域的创新学者、工程师和......
  • 《大学新生编程入门指南:选择适合自己的编程语言和制定有效学习计划》
    编程小白如何成为大神?大学新生的最佳入门攻略编程已成为当代大学生的必备技能,但面对众多编程语言和学习资源,新生们常常感到迷茫。如何选择适合自己的编程语言?如何制定有效的学习计划?如何避免常见的学习陷阱?让我们一起探讨大学新生入门编程的最佳路径,为你的大学生活和未来职业......
  • 学习Java第六周
    本周学习——面向对象(下)一、包装类Integer——intLong——longShort——shortByte——byteFloat——floatDouble——doubleCharacter——charBoolean——boolean二、处理对象1.和equals方法Java程序测试两个变量是否相等有两种方式:一种是利用运算符;另一种是利用equals......
  • Java学习记录第六周
    今天在进行数组反转时第一次用了这个代码![](https://img2024.cnblogs.com/blog/3475598/202408/3475598-20240808230516048-1627660110.png)没有考虑到第一个循环只进行一次时,第二个循环进行完一轮了。第二次用了这个代码没有考虑到数组直接赋值会使原先的值丢失,所以最后又定......
  • 学习笔记-图灵完备、图灵机与Brainfuck
    前言本文是近日对图灵完备的学习所做的笔记,如有错误还请指正.本文包含以下内容:1.什么是图灵机?什么是图灵完备?什么是Brianfuck?2.对图灵机的简单模拟.3.使用Brianfuck模拟一个简单的图灵机.图灵机?AlanMathisonTuring在1937年提出了一个通用计算设备的猜想.他猜想所有......