java 基础区别合集

java 基础区别合集

1. print 与 println

ln会在输出时自动换行

2. public class 与 class

前者类名必须和源文件名相同,且一个文件只有一个,最少0个
后者正好相反

3. 基本数据类型与引用数据类型

前者在内存中存放数值
后置在内存中存放的是地址,然后引用

4. == 与 equals

前者比较基本数据类型时是比较内存中存放的值是否一致,而引用数据类型时是比较内存中存放地址
后者用于,字符串类型比较内容

5. 三种循环区别

一般建议,次数固定时使用for循环,反之使用while循环以及do while循环

语法格式不同
后者为先执行,在判断条件

6. break、continue、return

break 是打断,中断当前循环,进入下一个循环
continue 是继续或跳过的意识
return 是返回,会结束整个方法

7. 局部变量和成员变量

声明位置不同
作用范围不同(作用域)
初始值不同 // 在类中,成员变量有默认的初始值,而局部变量则没有

/*
优先级,在方法中同名时,局部变量优先,这时候调佣成员变量,需要使用 [this.XXX] 来调佣 
*/

8. 重载和重写

重写 // 类似super().__init__() 对原方法进行修改,是子类对父类的一种表现
/* 规则
不能缩小访问权限
返回值类型一致,或者编写为父类方法返回值类型的子类类型
方法名称必须一致,区分大小写
参数列表必须一致
*/

重载 // 在同类中,对原有方法修改,参数可以不同,但是名字必须相同

img

9. this 和 super

this
	this代表的是当前对象,只可以在本类中使用,可以访问本类中的实例变量,实例方法以及其他构造方法(包括父类中的),会现在当前类中寻找,没有再去父类
	
super
	super代表的是父类,是可以在子类中使用,可以访问父类中的实例变量,实例方法,会直接去父类中查找
	
// 注意:super在未指定调佣哪个父类的构造方法时,会默认调用无参构造方法

10. 实例变量和静态变量

首先变量前未编写static的变量就是实例变量,注意区别在于使用可以直接调用或者使用this调用

11. 实例方法和静态方法

同上,主要区别相同,主要注意静态的一些东西,会在类加载时就创建完成

12. 变量和常量

其实就如同字面意思,一个可变,一个不可变

13. 抽象类和接口

相同点:
	1. 都不能创建对象,也就是说:抽象类和接口都是多态的一种形式
	2. 都可以编写抽象方法
	3. 子类或者实现类必须要重写抽象类或者接口中所有的抽象方法,否则子类或者实现类也是抽象类

不同点:
	抽象类
		1. 使用abstract关键字
		2. 抽象类中包含:普通类中编写的所有内容,还可以编写抽象方法
		3. 子类 继承 抽象类,并且是单继承
	接口
		1. 使用interface关键字
		2. 在JDK8.0中,接口包含:抽象方法(默认有public abstract)、公有静态常量(默认有public static final)、public static修饰的方法、public default修饰的方法
		3. 实现类 实现 接口,并且是多实现
posted @ 2022-09-17 19:31  ZhXiS-RayCheung  阅读(62)  评论(0)    收藏  举报