在jvm内存中主要分布有以下三个区域:
栈:存放基础数据和自定义对象的引用
堆:主要存储创建的对象,即new出来的对象
方法区:加载存放class文件(字节码文件)
什么是封装?
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装的优点:
隐藏代码的实现细节,提高安全性。
private 私有属性:(调用属性先执行提供的get或set方法)
私有属性:
classPerson {//姓名
privateString name;//年龄
private intage;//对外提供公共的访问方式,编写set和get方法
public void setAge(int_age){if(_age>0 && _age < 120){
age=_age;
}else{
System.out.println("年龄不符合常理,请重新设置!");
}
}public intgetAge(){returnage;
}public voidsetName(String _name){
name=_name;
}publicString getName(){returnname;
}
}
View Code
基本数据类型的参数传递,值传递:(值不会受到影响)
/*基本数据类型的参数传递,值传递*/
public classParamTest01{public static void m1(inti){
i= i + 1;
System.out.println("m1方法中的i=" + i);//11
}public static voidmain(String[] args){int i = 10;
m1(i);
System.out.println("main方法中的i=" + i);//10
}
}
引用数据类型传递,传递的是引用传递(值会改变)
/*引用数据类型的参数传递,传递的引用,引用传递*/
public classAnimalTest01 {public static voidm1(Animal a){int age =a.getAge();
a.setAge(++age);
System.out.println("m1方法中的age=" + a.getAge());//11
}public static voidmain(String[] args) {
Animal a= newAnimal();
a.setAge(10);
m1(a);
System.out.println("main方法中的age=" + a.getAge());//11
}
}
构造方法:
对象被创建时会执行
构造方法(constructor),有的地方叫做构造器或者构造函数。
构造方法的作用是给对象数据进行初始化。
构造方法格式特点
1.方法名与类名相同(注意大小写也要与类名一致)
2.没有返回值类型
3.没有void修饰
4