1.成员属性封装
一般来说方法是不用封装的,但是属性要封装,因为不进行封装就不具备安全性,还有调用更改也不太方便,如果更改的位置操作过多会导致其他位置所拿到的属性值不是当前更改好的。
接下里演示如何封装属性
用private修饰符
class Cat{
private String name;
private int age;
public void setName(String name){
this.name = name;
}
public String getNAme(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return name;
}
}
这样就封装了两个属性
set开头的方法是用来进行属性赋值
get开头的方法用用来输出的
利用private修饰符将属性被调用的范围只能在当前类中,在由方法来进行属性的调用和赋值。
2.构造方法
构造方法是一个特殊的方法是用来初始化对象的,不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。
创建构造方法的要求:方法名与类名相同,没有返回值,创建多个构造方法时方法参数不能一致。
public class Cat{
private String name;
private int age;
public Cat(String name, int age){
this.name = name;
this.age = age;
}
public Cat(){}
public void setName(String name){
this.name = name;
}
public String getNAme(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
}
有参构造方法:
public class Cat{
public String name;
public int age;
public Cat(String name, int age){
this.name = name;
this.age = age;
System.out.println("名字:"+this.name);
}
}
class Test{
public static void main(String[] arge){
Cat cat = new Cat("小黄",13);
}
}
输出结果:名字:小黄
初始化对象调用有参构造方法,方法有几个参数你就必须填几个参数才能初始化对象。
无参构造方法:
public class Cat{
public String name;
public int age;
public Cat(){
this.name = "大黄";
System.out.println("名字:"+this.name);
}
}
class Test{
public static void main(String[] arge){
Cat cat = new Cat();
}
}
输出结果:名字:大黄
调用无参构造方法就和我们平常一样实例化对象就行了,如果我们没有创建构造方法,系统会默认创建一个无参构造方法,但是当我们创建了构造方法系统将不会默认创建无参构造方法了,这时我们创建的无参构造可以在里面添加代码块。
当初始化对象时,会把构造方法里的代码段都执行了
3.匿名对象
匿名对象就是没有变量名的new对象,可以当做参数或者返回值
new Cat();
这就是一个匿名对象,可以创建多个且不会报错但是会浪费空间.
一般做为参数和返回值。
class Test {
public static void main(String[] args) {
// 普通方式
Cat sc = new Cat();
input(sc);
//匿名对象作为方法接收的参数
input(new Cat());
}
public static void input(Cat sc){
System.out.println(sc);
}
}