java基础(知识点整理)

目录

1.main方法

2.修饰符

3.基本数据类型:

4.包装器类:

5.static关键字

6.finall关键字

7.String类型

8.八大排序

9.抽象类和接口的区别:

10.面向对象:封装 继承 多态

11.Object类

12.内部类:

13.lambda表达式:


Java基础知识点整理,个人复习笔记

1.main方法
public static void main(String[] args) {}

一个java程序有且仅有一个main方法启动,main方法是java程序启动的唯一入口。

2.修饰符
修饰类修饰方法修饰域
public都可以访问都可以访问
private私有类只能本类只能本类
protected子类可以继承、访问,同包下的类也可以访问子类可以继承、访问,同包下的类也可以访问
default只有同包下的才可以访问只有同包下的才可以访问

3.基本数据类型:

整数型:byte 8位 short 16位 int 32位 long 64位 (1字节bit=8位)

浮点型:float 32位 double 64位

字符型:char 16位

布尔型:boolean 8位

4.包装器类:

ByteShortIntegerLong (对应基本整数类型),FloatDouble (对应基本浮点类型)

Character (对应基本字符类型),Boolean (对应基本布尔类型)

自动拆装箱:编译器行为

装箱:valueof() 基本数据类型转包装器类对象

Integer i = Integer.valueOf(10);//装箱 举例

拆箱:intvalue() longvalue() 包装器类对象转换回基本数据类型

int i = Integer.valueOf(10).intValue();//拆箱 举例

5.static关键字

静态变量:属于类,而非实例,所有对象共享同一个静态变量。

静态方法:可以访问和修改静态变量,不能直接访问非静态变量和方法。

静态类:不需要创建实例即可通过类名被访问和使用,静态类只能访问静态成员,不能访问非静态成员。

静态代码块:在类加载时执行。(用于执行类级别的初始化操作)

6.finall关键字

修饰变量:变量不能被重新赋值 (finall基本数据类型的变量,其值在编译时就确定了,然后不可修改。final引用类型变量,引用地址不能改变,但引用对象的内容可以改变)

修饰方法:finall方法不能重写

修饰类:finall类不能被继承

7.String类型

不可变性:String对象一旦创建,其值就不能被修改。(任何看起来修改了 String 的操作,实际上都是创建了一个新的 String 对象。)

常用api

equals(Object obj) compareTo(String s) indexOf(int ch) indexOf(String str) substring(int begin) substring(int begin, int end) replace(char old, char new) replaceAll(String old, String new) concat(String str) trim() strip() toLowerCase() toUpperCase() length() charAt(int index) toCharArray()

构建字符串:StringBuffer:是线程安全的,因为各个方法都加synchronized锁了 ;StringBuilder

8.八大排序

教你了解八大排序(含代码注释示例java)-CSDN博客 在这篇博客。

9.抽象类和接口的区别:

接口更像是描述某种行为和能力,(interface关键字)

抽象类更像是描述本身特性,(abstract关键字)

抽象类是一个类,可以有类的东西,接口不可以

接口能实现的抽象类都能实现,单继承多实现

10.面向对象:封装 继承 多态

封装:

通过访问修饰符(private、protected、public)来控制类、属性和方法的可见性。目的是将对象的属性和行为进行隐藏,只对外暴露必要的接口,增加了数据的安全性和可靠性。

封装的好处:数据的隐藏、代码的重用、接口的标准化等。

继承:

允许一个类子类继承父类的属性和方法。

子类可以复用父类的代码,并且可以根据需要对父类的方法进行重写。

继承的好处:代码的重用、逻辑的复用、类型的多样性等。

多态:

多态允许同一个方法在不同对象上产生不同的行为。

多态的实现方式包括:方法重载和方法重写。

(重载是在同一个类中定义具有相同名称但参数不同的方法。重写是子类中定义与父类方法签名完全相同的方法。)

多态的好处:代码的灵活性、可扩展性、可维护性等。

11.Object类

    所有类的父类

基本方法:getClass() hashCode() toString() clone() notify() notifyAll() equals()

notify()方法可以对线程进行唤醒。notifyAll()方法会将所有在等待集合中的线程唤醒

equals和==的区别?

==和equals()方法的区别-CSDN博客

重写equals()为什么要重写hashcode()? ​​​​​​重写equals()方法为什么同时要重写hashcode()-CSDN博客

12.内部类:

1.普通内部类:定义在类的内部的类(可以直接访问外部类的所有成员,包括私有成员)

2.局部内部类:定义在类的方法内部的类(作用域仅限于定义它的代码块内,可以访问定义它的方法的所有局部变量但这些变量必须是final的)

3.静态内部类:定义在类的内部的、加static关键字的类(只能访问外部类的静态成员,不持有外部类的引用)

4.匿名内部类:定义在类的内部的、没有名字的类(作用域仅限于定义它的代码块)

13.lambda表达式:

形式:参数, 箭头(->) 以及一个表达式:

(String first, String second) -> first.length() - second.length()

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值