xju实训上课笔记第一天

1.环境配置 jdk配置1.8,我查了我的java -version是18,好像要在此电脑里重新配置jdk版本,但是我找了E盘只找到1.8的版本,没有找到18的版本,为什么我的java version是18?我在C盘里没找到18的jdk版本呀。不知道怎么找。然后记得买电脑耳机。

2.面向对象,集合,数据结构,泛型

3.面向对象特性:封装继承多态-衍生:抽象,接口

关键字:this,super,static,final

常用类:Object,hash,equals,toString

开发要用的:封装类:java八大基本数据类型:int short byte char long float double 

int-》Integer

byte-》Byte

char-》Character

== equals区别:基本数据类型比较值就行,引用数据类型比较空间地址值

一个是基本数据类型,一个是引用数据类型,一个比较值,一个比较地址,为什么a==aa还可以为true

Integer aa=5;1.5之后的自动装箱

离谱的事情发生了:

 运行结果是: true,false

读逻辑:按住ctrl点进去代码

 low:-128

high:127

 

每一个基本的数据类型都有一个对应的封装类 

4.打开键盘的光fn+f3,

5.泛型:不确定的类型,广泛的类型

所有的类型都叫T

 A可以改为K,V,T

//alt+insert 右键generate 创建get和set方法

 

 

用的时候把类型给确定了

泛型类,泛型接口,泛型方法

泛型通配符:

有问题:

 通配符:?任意

 

 ?super String:任意的类都是String的长辈

? extends String:任意类继承于String的类

下限?super String 

上限 ? extends String

?包括本身

String没有子类

?extends String有且仅有String。没有String的子类。因为String没有子类。?extends String就是String的意思

 final 断子绝孙 最后的 修饰类,修饰方法,修饰变量

被final修饰的类是最后一个类

final修饰变量的时候 是引用不能改还是对应的值不能改?是银行卡不能变还是银行卡里的500w不能变?

final修饰方法,方法不能被重写。

java中的内存:

栈:存基本数据和引用数据类型的引用(基本数据类型的值),堆,

基本数据的值是5块钱

引用数据类型的引用是500w

是引用不能变而不是引用的值不能变。引用的值比如说500w,是可变的。变成400w,卡还是那张卡。

代码解释:

 比如改变xx的值从111变为222,是可以的,但是再在栈里new一个新的空间是不行的。

 

 

 

 

 

 

 堆相当于你去银行存500w。银行会给你一个银行卡。你的堆是一个银行卡。

 

finally一定执行。不管有没有return一定执行。

 

finalize obj里的方法 遗言

此时是有两个空间,但是只有一个引用xx,那么必须有一个空间是没有引用的,也就是垃圾。

垃圾自动回收。被垃圾算法清除。

 

 右键generate一个Override Methods,找到finalize,

垃圾回收

 

 

 运行这个

 垃圾回收不会马上进行。

要给回收的东西打拆字。X

 此时就需要gc:garbage clean

 

 6.集合

 

List->AbstartcList->(实现类)Vector->ArrayList->AbstractSequentialList->Stack

 集合的api不讲了

7.父接口的引用指向子类对象?

接口回调。多态。

transient 瞬态 瞬时间的 表示修饰的数据不能被序列化 (对象序列化 把对象持久存到磁盘或者其他空间 把对象读出来又叫反序列化)

{}空 null空数组

add

 

保证数组有size+1

 

defaultcapacity=10

modCount++;修改次数

集合如何在遍历的时候进行删除?

 

把集合中的奇数给删除掉

先写个for循环,

for(int i=0;i<list.size();i++){

if(list.get(i)%2!=0){

list.remove(i);

}

}

不能在foreach中实现remove

 右移一位就是除以2

扩容:变成他的1。5倍

 //算法题:用数组实现一个动态容器?数组特点:定长:类型确定。

普通添加数组的值:

 

 

根据索引添加数组的值:

 

 用数组手写一个栈

栈的三个核心方法:pop,push,获取栈顶元素有两种,一种是弹栈pop,一种不弹栈的获取栈顶元素peek

 

posted @ 2023-07-02 09:12  chenxinyue  阅读(28)  评论(0编辑  收藏  举报