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__() 对原方法进行修改,是子类对父类的一种表现
/* 规则
不能缩小访问权限
返回值类型一致,或者编写为父类方法返回值类型的子类类型
方法名称必须一致,区分大小写
参数列表必须一致
*/
重载 // 在同类中,对原有方法修改,参数可以不同,但是名字必须相同

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. 实现类 实现 接口,并且是多实现

浙公网安备 33010602011771号