Java:语法速通

news2024/11/15 21:45:57

参考

菜鸟教程 java

继承

class 父类 {
}
 
class 子类 extends 父类 {
}

在这里插入图片描述
继承的特性:

  • 子类拥有父类非private的属性和方法
  • 子类可以对父类进行扩展
  • 子类可以重写父类的方法
  • 使用extends只能单继承,使用implements可以变相的多继承,即一个类继承多个接口,如下。
public interface A {
    public void eat();
    public void sleep();
}
 
public interface B {
    public void show();
}
 
public class C implements A,B {
}
  • 通过super关键字引用当前对象的父类,通过this关键字引用自身。
class Animal {
  void eat() {
    System.out.println("animal : eat");
  }
}
 
class Dog extends Animal {
  void eat() {
    System.out.println("dog : eat");
  }
  void eatTest() {
    this.eat();   // this 调用自己的方法
    super.eat();  // super 调用父类方法
  }
}
 
public class Test {
  public static void main(String[] args) {
    Animal a = new Animal();
    a.eat();
    Dog d = new Dog();
    d.eatTest();
  }
}
  • 使用final关键字修饰的类不能被继承,但类内的属性和方法不是final的。使用final关键字修饰的方法不能被子类重写。
  • 子类不继承父类的构造器,只是调用,实例化子类对象时,先调用父类的构造器。若父类构造器有参,则子类构造器中需显式使用super调用父类构造器,若父类构造器无参,则系统自动调用。
/**
 * @author wuming
 * @date 2023-12-20 13:48
 * @description
 */

class SuperClass{
    private int n;
    SuperClass(){
        System.out.println("SuperClass 无参构造");
    }
    SuperClass(int n){
        System.out.println("SuperClass 有参构造" + n);
        this.n = n;
    }
}

class SubClass extends SuperClass{
    private int n;
    // 系统自动调用父类的无参构造函数
    SubClass(){
        System.out.println("SubClass 隐式调用父类无参构造");
    }
    SubClass(int n){
        super(n);
        System.out.println("SubClass 显式调用父类有参构造");
        this.n = n;
    }
}

public class ExtendTest {
    public static void main (String args[]){
        new SubClass();
        new SubClass(200);
    }
}

SuperClass 无参构造
SubClass 隐式调用父类无参构造
SuperClass 有参构造200
SubClass 显式调用父类有参构造

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1323628.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

P71自监督式学习

命名都以芝麻街的角色命名 x 分为x’ 和 x’’ ,自己跟自己学bert 架构跟 transformer Encoder 一样,输入一排向量,输出一排向量,一般用在自然语言处理上 模型大小: x 分为 x’ x’’ 自学习 bert 可以做输入一排向…

未来之笔:AI绘画如何重新定义人物设计艺术

随着人工智能(AI)技术的飞速发展,艺术创作领域正迎来一场革命性的变革。AI绘画正在重新定义人物设计艺术,为艺术家和设计师带来前所未有的创作可能性。人物设计作为艺术创作中的重要组成部分,正在受到AI技术革新的深刻…

前端-如何自己做一个可视化的人员选择泛用组件

一、展示组件效果 二、组件的功能 1.用户可以在搜索框里输入字符,下方列表实时变动(筛选出包含搜索字符的可选项),如果没有字符,就展示所有的选项 2.用户点击可选项,右侧出现标签 3.用户点击标签的XX&am…

【Git】Git基本操作

文章目录 Git 是什么Git 的优点Git 安装Linux UbuntuLinux CentOsWindows Git 基本操作1. 创建 Git 本地仓库2. 配置 Git3. Git工作区、暂存区和版本库4. 添加文件5. 查看 .git 文件6. 修改文件7. 版本回退 Git 是什么 Git是一个免费的、开源的分布式版本控制系统,…

国产Apple Find My认证芯片哪里找,伦茨科技ST17H6x芯片可以帮到您

深圳市伦茨科技有限公司(以下简称“伦茨科技”)发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家,该平台提供可通过Apple Find My认证的Apple查找(Find My)功能集成解决方案。…

Ubuntu 常用命令之 top 命令用法介绍

top命令是Linux下常用的性能分析工具,可以实时动态地查看系统中各个进程的资源占用状况,类似于Windows的任务管理器。它可以显示系统总的和分区的CPU使用率、内存使用率、交换区使用率、系统负载、进程数、最耗CPU的进程等信息。 top命令的参数如下 -b…

数据之门:使用IPIDEA开启网络自由之旅~

本文目录 前言一、网络代理IP简介二、IPIDEA 优势2.1 多种类型IP代理2.2 海量纯净代理池2.3 稳定高效数据收集架构2.4 个人IP管理中心 三、IP代理实操小Tips3.1 查看本地网络IP3.2 使用浏览器IP代理3.3 使用IPIDEA进行爬虫实操 四、总结 前言 各位友友,大家好&…

Win10电脑字体太浅了看不清的解决方法

在Win10电脑操作过程中,用户发现电脑字体太浅了,自己都看不清字体了,这样比较影响自己的操作效率。下面小编给大家带来Win10字体颜色太淡的解决方法,解决后用户可以看到Win10电脑字体颜色就不会太淡,视觉体验感也更好。…

22款奔驰E260L升级原厂360全景影像 效果分享

很多车友们会问个问题 就是升级这些功能会不会有异响?我们星骏汇回答这个问题 有异响是因为师傅经验不够安装的不够仔细 ,像卡扣卡不到位 原厂预留位置 安装的不准确 可能就会造成异响,也有很多车友会问 为什么要升级呢?准确的来说…

众和策略:网络安全行业未来增速可期 多股获机构扎堆调研

工业和信息化部、国家网信办、人力资源和社会确保部等十四部分近来联合印发《关于打开网络安全技术运用试点演示作业的告诉》(以下简称《告诉》),将以新式信息基础设备安全、数字化运用场景安全、安全基础才干进步为主线,遴选一批…

(1)(1.9) MSP (version 4.2)

文章目录 前言 1 协议概述 2 配置 3 参数说明 前言 ArduPilot 支持 MSP 协议,可通过任何串行端口进行遥测、OSD 和传感器。这样,ArduPilot 就能将遥测数据发送到 MSP 兼容设备(如大疆护目镜),用于屏幕显示&#x…

生产问题(十二)GC垃圾回收导致空指针

一、引言 最近线上出现由于线程池任务执行超时导致的空指针,按道理说基本不会很多执行超时的,看了看监控,那个时间点发生了gc,gc时间超过5s。 说明这次是gc垃圾回收导致的问题,实际上需要排查解决的是垃圾回收问题。表…

element plus 表格el-table行多选单选

1 行多选-点击checkbox 添加一个 el-table-column&#xff0c;设 type 属性为 selection 即可 <template><div class"box"><el-table :data"tableData" selection-change"handleSelectionChange"><el-table-column type&…

vue3 使用<script lang=“ts“ setup>加上lang=“ts“后编译错误

报错信息 报错原因 加上了langts解决 下载typescript和loader npm install typescript ts-loader --save-dev配置vue.config.js 添加下面的代码 configureWebpack: { resolve: { extensions: [".ts", ".tsx", ".js", ".json"] }…

【Linux】冯诺依曼体系结构与操作系统及其进程

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解冯诺依曼体系结构与操作系统&#xff0c;掌握…

基础数据结构(1):链表

在学习算法时&#xff0c;发现用什么数据结构来存储数据是很重要的&#xff0c;所以学习数据结构也是必须的&#xff0c;先从基础数据结构&#xff1a;数组&#xff0c;字符串&#xff0c;链表&#xff0c;栈&#xff0c;队列&#xff0c;树&#xff0c;矩阵&#xff0c;邻接表…

3D小球跑酷

目录 一、前言 二、开发环境 三、场景搭建 1. 创建项目 2. 创建场景内物体 2.1 创建跑道 2.2 创建玩家 2.3 创建障碍物 2.4 改变跑道和障碍物的颜色 2.4.1 创建材质 2.4.2 给跑道和障碍物更换材质 四、功能脚本实现 1. 创建玩家脚本 2. 相机跟随 3. 胜负的判定 3…

spring boot版本升级遇到的一些问题

背景&#xff1a;由于项目需求&#xff0c;需要将nacos 1.4.6版本升级到2.x版本&#xff0c;由此引发的springboot、springcloud、springcloud Alibaba一系列版本变更。 旧版本分别为&#xff1a; Spring Boot 2.3.5.RELEASE Spring Cloud Hoxton.SR9 Spring Cloud Alibaba 2.2…

基于RocketMQ实现分布式事务

前言 在上一篇文章Spring Boot自动装配原理以及实践我们完成了服务通用日志监控组件的开发&#xff0c;确保每个服务都可以基于一个注解实现业务功能的监控。 而本文我们尝试基于RocketMQ实现下单的分布式的事务。可能会有读者会有疑问&#xff0c;之前我们不是基于Seata完成了…

让AIGC成为你的智能外脑,助力你的工作和生活

人工智能成为智能外脑 在当前的科技浪潮中&#xff0c;人工智能技术正在以前所未有的速度改变着我们的生活和工作方式。其中&#xff0c;AIGC技术以其强大的潜力和广泛的应用前景&#xff0c;正在引领着这场革命。 AIGC技术是一种基于人工智能的生成式技术&#xff0c;它可以通…