多个数组指向相同
int[] arr=new int[3];
arr[0]=100;
arr[1]=200;
arr[2]=300;
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
//定义第二个数组指向第一个数组
int[] arr2=arr;
arr2[0]=111;
arr2[1]=222;
arr2[2]=333;
//此时第一个数组的值也会改变
方法
通用格式
public static 返回值类型 方法名(参数){
方法体;
return 数据;
}
方法重载
- 多个方法在同一个类中
- 多个方法具有相同方法名
- 多个方法的参数不相同、类型不相同或者数量不相同
常见错误例子:
public class Dmeo{
public static void fn(int a){
}
public static int fn(int a){
}
}
方法参数传递,基本类型和引用类型
java是值传递,如果main函数中定义了int n=100;
再调用定义好的方法change(int n);
,那么调用前后n的值都是100。
如果main函数中定义了int[] n={1,2,3,4,5};
再调用定义好的方法change(int[] n);
,那么调用前后数组元素值会改变。
即对于基本数据类型的参数,形式参数的改变不会影响实际参数 的值。
对于引用类型的参数,形式参数的改变,会影响实际参数 的值。
对象
多个对象指向相同
和数组一样,指向相同修改一个对象另一个也会随之改变。
范例:
Student s1=new Student();
s1.name="周杰伦";
s1.classroom="三年二班";
System.out.println(s1.name+","+s1.classroom);
Student s2=s1;
s2.name="菅田将暉";
s2.classroom="三年A班";
System.out.println(s1.name+","+s1.classroom);
System.out.println(s2.name+","+s2.classroom);
会得到结果:
周杰伦,三年二班
菅田将暉,三年A班
菅田将暉,三年A班
封装
1.封装概述:是面向对象三大特征之一(封装、继承、多态),是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的。
2.封装原则:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的getXxx()/setXxx()方法。
3.封装好处:
- 通过方法控制成员变量的操作,提高了代码的安全性
- 把代码用方法来进行封装,提高了代码的复用性