coreJava笔记——1
一、数组
对于数组的操作:
1、System.arrayopy(旧数组,下表,新数组,下表,长度)
2、新对象 = Arrays.copyOf(旧数组,长度);
\如果要删除数组中的一个元素,先用1、直接把这个元素覆盖掉
\然后用2,将数组大小-1
二、封装、继承、多态(抽象)
1、封装
将一些属性私有化、不让外部可以随意修改
2、继承
只能单根继承;
不能出现一个类有两个父类,但是一个父类可以有多个子类;
3、多态
当我们创建一个对象,这个对象可以调用本类以及其父类的方法,但是不能调用子类的方法;
三、方法重载和方法覆盖
1、重载
<1>在同一个类内的多个方法
<2>方法名一样
<3>方法参数不同
2、覆盖
<1>权限>=父类
<2>返回类型和方法名一模一样
<3>异常范围<=父类
注意:重载发生在同一个类里(构造方法也可以重载),而覆盖发生在不同的类体里面
我们在进行对象之间的比较时,经常会覆盖以下方法来满足一些方法的正常使用
`
@Override
public String toString( ) {
return XXX;
}
//return new StringBuffer(xxx) //用于加快效率
//.append(yyy)
@Override
public boolean equals(Object obj){
if(this == obj)return true;
}
@Override
public int hashCode(){
return score + name.hashCode();
}
//return Objects.hash(name);`
四、构造方法
1、构造方法的名字与类名一致
2、构造方法没有返回类型
3、在构造方法的首行会出现this(); / super();
<1>this:执行本构造方法前,先执行其他的构造方法,执行那个根据参数来看
<2>super:提供父类的无参构造方法,也可以传参数进去,先执行父类的构造方法
这俩只能出现一个,不写默认()里面为空。
五、关于String的方法
返回类型 方法名
1、String
byte[] getBytes() 将一个字符串转换成字节数组
char[] toCharArray() 将一个字符串转换成字符数组
String[] split(String) 将一个字符串按照指定的内容劈开
boolean equals(String) 区分大小写的判断两个字符串的内容是否一样
boolean equalsIgnoreCase(String) 不区分大小写的比较
boolean contains(String) 判断一个字符串里面是否包含某个内容
boolean startsWith(String) 是否以指定的内容开头
boolean endsWith(String) 是否以指定的内容结尾
String toUpperCase() 将一个字符串全部转换成大写
String toLowerCase() 将一个字符串全部转换成小写
String replace(String,String)
String replaceAll(String,String)支持正则表达式
String replaceFirst(String,String)
String trim() 去除字符串的前后空格
String substring(int x,int y)从下标x一直截取到下标y-1对 应的元素
String substring(int x)从下标x一直截取到字符串的最后
char charAt(int) 找到某个下标对应的元素
int indexOf(String) 找到某个内容第一次出现的下标
Int lastIndexOf(String) 找到某个内容最后一次出现的下标
2、StringBuffer常用的方法
append(String/int/double/long内容); 追加连接 增加效率
reverse(); 反转字符串的内容
insert(int 下标,内容); 往指定的下标插入确定的内容
六 单例模式
目前在创建比较器中有了第一次实际的用武之地。
比较器只需要创建一次,之后直接调用这个比较器就行了。
`public class TestSingle1{
public static void main(String[] args){
Sun x = Sun.getOnly();
}
}
class Sun{
private Sun(){}
//构造方法私有化,外部就不能再创建对象
private static Sun only = new Sun();
//在内部创建这唯一一个对象,加上static让这个创建过程不会死循环
public static Sun getOnly(){//Sun.getOnly();
return only;//外部可以通过这个方法,把这个唯一一个对象调出去使用
}
}`
七、接口
一个接口中定义的属性,比如 int i = 10; 都会在前面默认加上public static final这三个修饰符。
而我们定义的任意一个方法都会默认加上public abstract.
一个类只可以继承一个父类,但是可以继承多个接口
class A extends B implements C,D,E...{}
coreJava笔记——1的更多相关文章
- CoreJava笔记之JavaBean、静态方法static和final
记住两句话: 1.属性是静态绑定到变量类型: 2.方法是动态绑定,由最终对象的方法决定 =============================== 关于JavaBean: 1.不是语法规则,是习惯 ...
- CoreJava笔记之线程
程序,进程和线程程序:没有执行的指令序列和相关的数据的集合(如:qq.exe) 如:磁盘上的可执行命令进程:正在执行的程序,进程占用资源(CPU,Memoary,IO)线程:是进程中并发执行的过程(共 ...
- CoreJava学习笔记1-基本概念、对象和类
一. java的基本程序设计结构 (一) java共有8种基本类型:4种整型,2种浮点类型,1种char,1种boolean. 1) 4种整型:byte(1).short(2). ...
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
随机推荐
- 开源标杆!天翼云TeleDB入选《2024央国企开源项目典型实践》!
近日,由中国通信标准化协会主办.中国信通院承办的2024 OSCAR开源产业大会在北京召开,会上发布<2024央国企开源项目典型实践>,天翼云科技有限公司打造的"TeleDB分布 ...
- 自动安装zabbix-agentd脚本 自己写的
zabbix_agent_install.sh #!/bin/bash #auther by wangxp ZABBIX_AGENT_DIR="/usr/local/zabbix" ...
- lvm相关命令及/etc/fstab开机挂载
名词解释: PV: 物理卷(physicalvolume)物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区.磁盘等)比 ...
- 在 GitLab CI/CD 中使用内置的容器镜像库
配置 Docker-in-Docker Docker-in-Docker (dind) means: 你应该注册一个 Docker executor 或 Kubernetes executor 执行器 ...
- Python类型提示完全指南:用类型安全重构你的代码,提升10倍开发效率
title: Python类型提示完全指南:用类型安全重构你的代码,提升10倍开发效率 date: 2025/2/23 updated: 2025/2/23 author: cmdragon exce ...
- 在Linux系统中下载`gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu`工具链
要在Linux系统中下载gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu工具链,你可以按照以下步骤进行操作: 点击查看代码 1. **打开终端**:你 ...
- class com.ttsx.activity.item.dao.entity.RoleMenu ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method. 报错解决办法
启动项目的时候,有几条WARN警告,如图: 引起原因: 是因为数据表实体类 没有di导致的. 例如: 解决办法: 增加实体id字段!或可以忽略!不影响程序!
- 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
前言 今天大姚给大家分享 3 个 .NET 开源.免费的文件压缩处理库,希望可以快速帮助同学们实现文件压缩和解压功能! SharpCompress SharpCompress 是一个基于 C# 编写的 ...
- 基于SLAM系统建图仿真,完成定位仿真
博客地址:https://www.cnblogs.com/zylyehuo/ 基于SLAM系统完成建图仿真,详见之前的博客 基于Gazebo搭建移动机器人,并结合SLAM系统完成建图仿真 - zyly ...
- SpringBoot+微信支付-JSAPI
引入微信支付SDK Maven: com.github.wechatpay-apiv3:wechatpay-java-core:0.2.12 Maven: com.github.wechatpay-a ...