Java基础知识点

1.main方法

一个程序有且仅有一个main方法启动,main方法作为Java程序启动的唯一入口。
main方法

2.权限修饰符

public(公开类、有且仅有,类名和文件名一致)

修饰类修饰方法修饰域
public公有类都可以访问都可以访问
private私有类不会在其他类中访问,只能在本类中访问不会在其他类中访问,只能在本类中访问
protect子类可以继承和访问,同包下的类也可以访问子类可以继承和访问,同包下的类也可以访问
default只有同包的可以访问只有同包的可以访问

3、关键字

static关键字
静态类:静态内部类
修饰静态域:所有类的对象共享这一个域
修饰一个静态方法:只能访问静态属性
final关键字
修饰常量:常量不可变
修饰方法:不能被重新可以使用
修饰类:不能被继承
防止指令重新排序

4.数据类型

基本数据类型:整数型:int(8-128~127)、long、short、byte
浮点型:char、boolean、float、double
类型转换:顺着箭头的自动转换,逆向为强转,实线是不会丢失,虚线精度可以丢失的自动类型转换请添加图片描述

5、包装器类:

自动拆装箱(编译器行为)
装箱:valueof
拆箱:intvalue、longvalue在对象上进行调用
128陷阱:128陷阱分析

6、String

String对象,不可变类型(改变就是一个新的字符串、并不提供修改数组的方法)
final修饰类不能被继承不能重写,修饰char类型后,地址不可变,内容可变,但是没有具体的方法去修改内容,保证了String的不可变性。(共享大于修改的便利性)
(final修饰的类表示着他不能被继承的就没有子类,没有子类也就没有办法通过重写父类方法的形式去调整这些方法的行为)
提升字符串拼接效率:StringBuffer(安全:加锁)、Stringbuilder

7、数组

每一个数组是一个新建的类型
冒泡、快排、堆排、

8、抽象类和接口的区别

接口更多的是描述行为或者能力,单继承,多实现,
抽象类是描述事务本身的特质
接口能实现的抽象类都能实现
抽象类是一个类,可以有类中有的东西,接口不可以

9、类加载的先后顺序;

请添加图片描述
运行结果:
请添加图片描述

10、Object类,equals和==的区别

==如果两边是引用类型,比较的是他们的地址,如果两边是基本数据类型,比较的是他们的值
equals是看是否是同一个对象,检查字符串是否相等,不能作用于基本数据类型的变量,
在Java中我们重写equals方法时也要重写hashcode,两者一起重写
equals用于比较两个对象是否“相等”,而hashCode则用于计算对象的哈希值,hashcode和地址有关。重写是为了判断是否在hashmap或hashset的正确位置。
如果你只重写了equals方法,却没有重写hashCode方法,可能会导致两个equals的对象产生不同的哈希值,从而在使用哈希表相关的数据结构时产生逻辑错误。另一方面,如果两个对象不equals,但是你没有正确重写hashCode方法,可能造成它们产生相同的哈希值,虽然不会产生逻辑错误,但是会大大降低哈希表检索的效率。

11、内部类

局部内部类、普通内部类、静态内部类、匿名内部类(new抽象类或接口并用{}实现方法,下面是案例)请添加图片描述
Ctrl+i生成内部run,并在里面输出123,在main里直接new并调用一下
我们可以直接new里写入new 一个Run会直接生成,在Run里写入234,后面start即可运行
请添加图片描述

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值