Java易混知识点列表比较

news/2024/12/27 1:10:27/文章来源:https://www.cnblogs.com/Weenz-y/p/18553783
  • 类一级成员与实例成员
类一级成员 实例成员
属于 类本身 类创建的实例对象
举例 static(变量/方法/初始化块)、内部类 普通成员
直接访问 类名.member 对象.member

20241116120516

 class superc{int i=5;void show(){System.out.println("the i is :"+i);}
}
public class subc extends superc{int i=6;public static void main(String[] arg){subc s=new subc();  System.out.println(s.i);s.show();  //父类域中的show}
}output->
6
the i is :5
//变量i的访问权限修饰符缺省,继承后默认为同包可见
//在创建子类对象时,同名变量遵循变量遮蔽,覆盖父类i
//在调用show方法时,i的作用域为整个父类,包括方法
  • 重载与重写
重载overload 重写override
类内 父子类间
方法名
参数列表 不同
返回值 (无关)
方法体 不同 不同
访问权限 不能比父类更严格

20241116112016

错了3个输出👆:B重写父类同名方法后没有A-A的输出

20241116112811
输出为:in Son.show-Father(f2向上转型后重写Father类内的Father方法,并损失掉Son/Grandson作为形参的特有方法

  • 动态绑定与静态绑定
多态 动态绑定 静态绑定
编译 运行
重写方法oberride(类间,只异方法体) 重载方法overload(类内,只用同名)
虚函数(能被子类重写的方法) final、static、private修饰的方法
实例方法 成员变量
绑定类型 对象类型(实际) 引用类型(声明)
  • 接口与抽象类
接口interface 抽象类abstract
只有常量+抽象方法 至少一个抽象方法(只声明不实现)
方法默认 public abstract
常量(字段)默认 public static final
单个类可以有 多个接口 唯一抽象类
构造方法 没有 可以有
不能被final修饰
  • 简单工厂模式实现接口
enum CarType{ACar,BCar,CCar};interface Car{void drive();
}
//具体类
class ACar implements Car{@Overridepublic void drive(){System.out.println("ACar is ready");}
}
class BCar implements Car{@Overridepublic void drive(){System.out.println("BCar is ready");}
}
class CCar implements Car{@Overridepublic void drive(){System.out.println("CCar is ready");}
}//工厂类
class CarFactory{public static Car getInstance(CarType ct){if(ct!=null)switch (ct) {case ACar:return new ACar(); case BCar:return new BCar();case CCar:return new CCar();default:return null;}return null;}
}public class test{public static void main(String[] args){//接口不能实例化,只能通过具体类实现向上转型Car c1=new ACar();c1.drive();Car c2=CarFactory.getInstance(CarType.BCar);c2.drive();}
}
  • 内部类
实例内部类 静态嵌套类 局部内部类 匿名内部类
属性 类成员 独立,类一级成员 类方法内,特性同局部变量
持有outer.this实例 1 0 0 1
可以被static修饰 1 1 0 0
依附outer实例 1 0 1 1
有constructor 1 1 1 0
访问outer的private 1 1 1 1
访问权限 outer所有(含private outer静态成员 outer所有,方法的final局部变量 outer所有,方法的final局部变量
  • 常考异常类
名称 描述
NullPointerException 空指针异常
IndexOutOfBoundsException 数组索引越界异常
ArithmeticException 算术异常,比如除以0
ClassCastException 类型转换异常,试图将一个对象强制转换为不兼容的类型
NumberFormatException 数字格式异常,将字符串转换为数字时格式错误
IllegalArgumentException 向方法传递了错误类型、空值、或者超出范围的值
IOException 输入输出异常,通常发生在文件操作中
  • 从异常中获取信息
方法 类型 描述
e.getMessage() String 获取异常的简要描述信息
e.toString() String 返回异常的类名和详细消息,格式为:类名: 消息
e.printStackTrace() void 将异常的堆栈跟踪信息打印到控制台
e.getStackTrace() StackTraceElement 数组 异常对象相关的堆栈跟踪信息
area (test:10)
main (test:15)
  • 抛出异常
描述 词性 位置
throws 声明异常 预告 ( )后{ }前
throw 抛出异常 行动 类体内

20241114204140

  • String对象生成后值不变
//String类型常用函数
String str=new String("wer chinese, ur korean.");
System.out.println(str.length());
System.out.println(str.indexOf('r'));
System.out.println(str.startsWith("we"));
System.out.println(str.compareTo("hello"));
System.out.println(str.substring(1,5));
str=str.replaceAll("r "," are ");
System.out.println(str);
String[] strs=str.split("[,\\s]",4);
for(var v:strs)System.out.println(v);
  • 四种遍历容器方式
//1.增强式for循环
for(String s:a)System.out.println(s);//2.foreach
a.forEach(o->{System.out.println(o);});//3.迭代器iterator
Iterator<String> i=a.iterator();
while(i.hasNext())System.out.println(i.next());//4.普通for
for(int j=0;j<a.size();j++)System.out.println(a.get(j));

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新兴数据仓库设计与实践手册:从分层架构到实际应用(二)

本手册将分为三部分发布,以帮助读者逐步深入理解数据仓库的设计与实践。第一部分介绍数据仓库的整体架构概述; 第二部分深入讨论ETL在数仓中的应用理论,ODS层的具体实现与应用; 第三部分将围绕DW数据仓库层、ADS层和数据仓库的整体趋势展开;通过这样的结构,您可以系统地学…

【跟着阿舜学音乐-笔记】1.14代理和弦

三和弦代理和弦 代理和弦是指两个和弦从功能上能够相互替代,彼此代替对方执行相互的功能。 这意味着互为代理和弦的两个和弦在功能上有一定的互通性,这就是1.12提到的——拥有两个以上共同音的称为代理和弦。 同时,这种功能上的共通性也有着一定的强弱,在同属关系下,关系大…

TCP/UDP套接字基础编程及拓展

本文章旨在进行TCP/UDP基础套接字编程并在其基础上进行更新拓展。一、环境 1.1 客户端:windows宿主机 1.2 服务器端:Linux虚拟机 1.3 注意事项 测试套接字编程通信时,先确保C/S能互相ping通,且双方主机防火墙允许目的端口号为“创建的端口号”的数据包通过。 二、代码 2…

6款Win电脑高效实用办公软件推荐

作为打工人,是不是总觉得工作效率提不上去呢?今天我就来给大家分享 6 款办公超实用的软件,让你的工作事半功倍! 一、WPS 比office更适合职场小白上手的办公软件!它涵盖了文字、表格、演示等多种功能。写文档时,丰富的模板库能让你快速找到灵感,各种排版和编辑工具一应俱…

bladeX物联网平台私库操作处理步骤

(一)获取对方私库代码并上传到自己的gitlab 步骤 1: 克隆对方的私有仓库 首先,您需要在本地计算机上克隆对方的私有仓库。这通常需要使用HTTPS或SSH URL,并且可能需要身份验证(如用户名和密码、SSH密钥等)。# 假设您已经配置了SSH密钥或知道HTTPS的用户名和密码 git cl…

震撼推荐!性能测试全攻略:零基础也能玩转性能测试!

1、提起性能测试,你的第一反应是什么? 当提到性能测试,你的第一反应是什么?是不屑一顾,认为它很简单,没发展前途、没技术含量?还是觉得它太难了,高不可攀,每当遇到系统的疑难杂症时,抓耳挠腮,无从下手? 很多IT从业人员,认为"性能测试仅仅只是测试的工作,会用…

不同类型的OA办公系统分别有什么作用?

不知道大家有没有发现,在不知不觉间,OA(Office Automation)办公系统的应用已经发展得越来越广泛,可以说是涉及到工作的方方面面。你们想过这是为什么吗? 因为OA办公系统不仅提高了工作效率,还优化了企业的管理流程。随着科技的不断进步,OA办公系统的类型也日益丰富,满…

React+AntD Table支持下拉分页和自定义输入分页条数

实例支持在下拉分页框内输入分页条数来实现自定义分页代码usePageSizeSelect.jsimport {useEffect, useState} from "react"; import Bus from "../../utils/eventBus";export function usePageSizeSelect() {const onInputKeyDown = (e) => {const tem…

LeetCode 2455[可被三整除的偶数平均值]

LeetCode 2455[可被三整除的偶数平均值]题目 链接 LeetCode 2455[可被三整除的偶数平均值] 详情实例提示题解 思路 遍历容器,for 循环遍历,vector 的 at 方法取元素值 判断能否被3整除,不能则继续遍历 能被3整除则判断能否被2整除,即判断奇偶性,不能被2整除,即为奇数则继…

Microsoft.Extensions.AI 初探

本文介绍了Microsoft.Extensions.AI的基本使用。.NET Conf上的介绍 在今年的.NET Conf上Steve Sanderson带来了题为“AI Building Blocks - A new, unified AI layer”的演讲。该演讲的主要内容如下: “大多数.NET应用程序可以通过AI功能变得更加强大和高效,例如语义搜索、自…

如何确定合适的绩效考核周期和频率?

绩效考核周期的确定需要根据企业的实际情况、不同岗位的特殊性、考核指标的性质及考核标准的不同进行综合考虑。 1、一般来说,管理层级越高的岗位,其考核周期也应该设置得相对较长 2、绩效考核周期过短会增加企业的管理成本;过长又会降低绩效考核数据的准确性比如,销售人员…