Java被忽略的基本知识(二)
2016-12-07 23:50
211 查看
14、字符串的内容不可改变,不能修改某个下标的字符值。字符串之间的“+”连接是通过“断开——再连接”,修改变量的栈中的引用地址指向。
15、对于数组、类(类的属性中可以有String)的实例化对象作为参数时,方法将其改变后,原来的主方法的值也会改变。
而对于String类变量为参数时,方法中修改其值,原来的String值不会改变,因为String类型值的改变是引用堆地址的指向不同,原来的堆内容还存在。
16、this关键字:表示类中的属性、调用方法或构造方法(放在第一行),表示当前对象。
17、this访问本类中的属性、本类中的方法,如果本类中没有,则调用父类中属性或方法。
18、Java中常用的内存区域:
a 栈内存空间:保存所在的对象名称(或是说保存了堆内存的地址)
b 堆内存空间:保存每个对象的实际内容
c 全局数据区:保存static类型的属性
d全局代码: 保存所有的方法定义
19、非static声明的方法可以调用static声明的属性或方法,但static声明的方法只能调用static声明的方法或属性。
20、System.exit(1)表示退出系统,exit()方法中添加一个非0的数字表示退出系统。
21、代码块:用{}括起来的一段代码,可以方法的访问本类中的属性(包括私有)或方法。
普通代码块:直接在方法或是语句中定义的代码块
构造代码块:直接在类中的代码块,构造块先于构造方法执行,可以执行多次。
静态代码块:使用static声明的代码块,只执行一次。
同步代码块:使用synchronized声明的代码块,用于多线程的同步操作。
22、内部类:在一个类的内部像定义变量似的定义一个类,虽然其破坏了类的基本结构,但可以直接访问外部类的属性(包括私有)、方法。
23、super访问父类中的属性、方法,若调用父类的构造方法,必须放在子类构造方法的第一行。
24、final声明的类不能有子类,声明的方法不能覆盖,声明的变量不能修改。
25、抽象类必须包含一个抽象方法,也可以有一般的方法、属性。必须被子类继承,所以一个抽象类,不能使用final关键字声明。
26、接口:由全局常量 public static final 类型 名称;
抽象方法 public abstract 返回类型 方法名称 (参数);
不能有一般的方法、变量。
27、一个抽象类可以实现多个接口,一个接口可以继承多个接口,一个接口不能继承抽象类。
28、多态性:方法的覆写、方法的重载;对象多态性:向上转型 父类 父类对象=子类实例(调用的方法、属性,若子类中有会被子类的方法、属性覆盖);向下转型 子类 子类对象=(子类)父类实例;
29、instanceof判断一个对象是否为一个类的实例: 对象 instanceof 类。通过子类实例化的对象同是是父类的实例;通过父类实例化的对象,不再是其子类的实例。
30、在类的设计中永远不要继承一个已经实现好的类,要面向抽象层编程——依赖倒转原则。
31、若一个类的设计时接口与抽象类都可以实现,优先选择接口。因为避免单继承的局限性,少用继承多用关联(合成复用原则)。
32、内部类扩展: 抽象类中可以定义多个接口或抽象类,接口中可以定义多个抽象类或接口。
33、Object类提供的equals方法默认比较的是地址,自己创建类中可以比较内容。
34、Object类可以接受任意引用类型(包括接口、数组等)的对象。
15、对于数组、类(类的属性中可以有String)的实例化对象作为参数时,方法将其改变后,原来的主方法的值也会改变。
而对于String类变量为参数时,方法中修改其值,原来的String值不会改变,因为String类型值的改变是引用堆地址的指向不同,原来的堆内容还存在。
16、this关键字:表示类中的属性、调用方法或构造方法(放在第一行),表示当前对象。
17、this访问本类中的属性、本类中的方法,如果本类中没有,则调用父类中属性或方法。
18、Java中常用的内存区域:
a 栈内存空间:保存所在的对象名称(或是说保存了堆内存的地址)
b 堆内存空间:保存每个对象的实际内容
c 全局数据区:保存static类型的属性
d全局代码: 保存所有的方法定义
19、非static声明的方法可以调用static声明的属性或方法,但static声明的方法只能调用static声明的方法或属性。
20、System.exit(1)表示退出系统,exit()方法中添加一个非0的数字表示退出系统。
21、代码块:用{}括起来的一段代码,可以方法的访问本类中的属性(包括私有)或方法。
普通代码块:直接在方法或是语句中定义的代码块
构造代码块:直接在类中的代码块,构造块先于构造方法执行,可以执行多次。
静态代码块:使用static声明的代码块,只执行一次。
同步代码块:使用synchronized声明的代码块,用于多线程的同步操作。
22、内部类:在一个类的内部像定义变量似的定义一个类,虽然其破坏了类的基本结构,但可以直接访问外部类的属性(包括私有)、方法。
23、super访问父类中的属性、方法,若调用父类的构造方法,必须放在子类构造方法的第一行。
24、final声明的类不能有子类,声明的方法不能覆盖,声明的变量不能修改。
25、抽象类必须包含一个抽象方法,也可以有一般的方法、属性。必须被子类继承,所以一个抽象类,不能使用final关键字声明。
26、接口:由全局常量 public static final 类型 名称;
抽象方法 public abstract 返回类型 方法名称 (参数);
不能有一般的方法、变量。
27、一个抽象类可以实现多个接口,一个接口可以继承多个接口,一个接口不能继承抽象类。
28、多态性:方法的覆写、方法的重载;对象多态性:向上转型 父类 父类对象=子类实例(调用的方法、属性,若子类中有会被子类的方法、属性覆盖);向下转型 子类 子类对象=(子类)父类实例;
29、instanceof判断一个对象是否为一个类的实例: 对象 instanceof 类。通过子类实例化的对象同是是父类的实例;通过父类实例化的对象,不再是其子类的实例。
30、在类的设计中永远不要继承一个已经实现好的类,要面向抽象层编程——依赖倒转原则。
31、若一个类的设计时接口与抽象类都可以实现,优先选择接口。因为避免单继承的局限性,少用继承多用关联(合成复用原则)。
32、内部类扩展: 抽象类中可以定义多个接口或抽象类,接口中可以定义多个抽象类或接口。
33、Object类提供的equals方法默认比较的是地址,自己创建类中可以比较内容。
34、Object类可以接受任意引用类型(包括接口、数组等)的对象。
相关文章推荐
- Java被忽略的基本知识(一)
- Java被忽略的基本知识(四)
- Java被忽略的基本知识(一)
- Java被忽略的基本知识(三)
- 【SD2.0大会】Java培训先驱张孝祥:Java开发中的基本安全知识
- JAVA 30个基本知识
- JAVA的一些基本知识
- Java IO 基本知识
- java基本知识学习
- Java序列化基本知识
- java网络的基本知识
- java 的基本知识
- java基本知识
- JAVA基本知识总结
- JAVA30个基本知识
- 必须懂的基本知识(java)
- java程序员:开发系统要注意的基本知识
- Java基础小知识——基本数据类型和字符串以及字节数组的转换
- javacript基本知识
- 开发Java系统程序员要注意的基本知识