JavaSE :作业题+++++异常(3/25)


学习不要眼高手低,学习是一点点积累的。即使你现在很菜,坚持学一个学期不会差的!只要花时间学习,每天都是进步的,这些进步可能你现在看不到,但是不要小瞧了积累效应,30天,60天,90天后,你每次都会发生质的变化。

每一个人都要有危机感,就好像你被水刑,有人把你的扔进大缸里面,按着你的头,你不听的挣扎,想要呼吸。每当濒死,他每次都会让你呼一会气,这样就是危机感。生于忧患,死于安乐。

大学四年就像温水泡脚,在舒适区快乐玩耍,等毕业了,就是你把洗脚水喝掉的时候了。

-------------------------------------------------------------------------------------------------------------------博哥语录

目录

​编辑

1.函数传引用改变不了引用的指向,只能改变引用里面的内容

2. toLowerCase() 会返回一个新的对象,不是常量

3.一些String知识

4.字符串和字符数组的相互转化

5.length 和length()

6.可变参数

7.类和对象

8.代码块

9.对象的打印调用toString()方法

10.在继承关系上存在代码块和构造方法之后的顺序

11.super和this的区别

12.访问限定修饰符

13.多态

14.返回得类型可以比返回值小



1.函数传引用改变不了引用的指向,只能改变引用里面的内容

就好比C的传int* 只能修改int ,而不能修改int*       函数

JavaSE :作业题+++++异常(3/25)_第1张图片

change函数 的两个参数都是传引用,函数里面改变拷贝的形参str的指向,外面的str不受影响,但是通过这个引用ch改变了ch里面的内容,外面的就会受到相应的影响。所以选B

2. toLowerCase() 会返回一个新的对象,不是常量

JavaSE :作业题+++++异常(3/25)_第2张图片

B

3.一些String知识

String和 数组都是引用类型

String str="ab"+"cd";

在编译的时候就把str 识别为abcd 因为他俩都为常量

String str1="ab";

String str=str1+"cd"; 这个不能在编译的时候转化,需要调用append

String 可以直接赋值不用new字符串,但是StringBuffer不能直接赋值,必须new一个对象

 subStiring 是截取字符串方法,左闭右开

contains 返回值是boolean

JavaSE :作业题+++++异常(3/25)_第3张图片

 选D选项

StringBuilder 是单线程

StringBuffer 是多线程,加了锁,需要加锁和 拆锁 有代价

单线程比多线程高效

4.字符串和字符数组的相互转化

1.字符串转化为字符数组

String s="abcdef";

char[ ] str=s.toCharArray();

2.字符数组转化为字符串

char[ ] str={'a','b','d','f'};

String newS=String.valueOf(str);

5.length 和length()

length 是求数组的长度的

length() 是求字符串的长度的,是个String类方法

6.可变参数

JavaSE :作业题+++++异常(3/25)_第4张图片        一般不用,代码的可读性差

数组遍历的三种方式

1.for

2.for-each

3.Arrays.toString(arr);

7.类和对象

成员变量分为普通成员变量和静态成员变量,普通成员变量是属于对象的,内存在对象中的。

静态成员变量由static修饰是属于类的。

static的成员变量内存是在方法区的

静态方法不依赖于对象,也就是没有对象,所以说不能在静态方法中使用普通成员变量

this关键字,代表当前对象的引用,后面可以跟普通成员变量,普通方法,还有一种this(),就是和构造方法结合。

super关键字是父类的引用

构造方法:定义是方法名和类名一样,没有返回值。

作用用来实例化对象的时候调用,给对象一些初始值

没写的话编译器给你提供一个不带参数的,写的话就不给你提供了

8.代码块

分为静态代码块和非静态代码块。

和构造方法的执行顺序:

1.静态代码块(特点是:只执行一次

2.非静态代码块

3.构造方法

9.对象的打印调用toString()方法

10.在继承关系上存在代码块和构造方法之后的顺序

1. 父类的静态代码块+子类的静态代码块

2.父类的实例代码块+父类的构造方法

3.子类的实例代码块+子类的构造方法

11.super和this的区别

JavaSE :作业题+++++异常(3/25)_第5张图片

 

12.访问限定修饰符

1.private 只能当前类访问

2.默认访问权限也就是什么都不写,是包访问权限,只能在当前包访问

3.protected   不同包继承能访问,不同包不继承不能访问

4. public   都能用

不想让变量或者方法被继承可以用final来修饰

13.多态

1.发生向上转型

2.通过父类的引用调用子类的方法

缺点是:只能通过父类的引用访问父类自己的成员,编译的时候访问的是父亲的eat()但是运行的时候动态绑定了子类的eat();

多态就是传入父亲的引用,但是调用方法的时候动态绑定几个孩子的方法。

发生多态的3个时机:

1.方法的传参

2.返回值

JavaSE :作业题+++++异常(3/25)_第6张图片

 

3. 直接赋值

多态就是传入一个引用,根据它指向的对象不同来选择调用的方法

这个引用得是向上转型得

JavaSE :作业题+++++异常(3/25)_第7张图片

 

14.返回得类型可以比返回值小

比如说返回值是Animal类,那么在这个方法中你可以返回cat dog animal 对象        等

再比如说 返回值是IA接口(A B 实现了IA接口) 那么可以返回IA ,A, B对象

你可能感兴趣的:(java)