一、属性
1.属性通俗定义(容易理解但不规范):
通俗的说,就是定义一个public的具有get/set方法的变量,这个变量是用于保护一个私有变量。
允许外部变量访问的变量一定要声明为属性。
属性的封装:
先定义一个私有变量 比如 int s; 然后再选中它,点重构→封装字段。
例如
int s; ——————————受保护的私有变量
public int S ——————————用于给私有变量传值,取值地变量
{
get { return s; } ——————————给属性赋值的方法
set { s = value; } ——————————从属性中取值的方法
}
2.读写属性
具有get/set方法的属性就叫做读写属性。
只有get方法的属性称为只读属性,这个属性只能读取不能写入。
只有set方法的属性称为只写属性,这个属性只能写入不能读取。(用的很少)
二、构造方法
1.构造方法的作用
上面的属性中有一个只读属性,只读怎么赋值呢?这就要用到构造函数。
当我们实例化一个类时,系统会对这个类的属性进行初始化(分配内存空间),数字类型的初始化为0或0.0,string类型的初始化为null,char类型的初始化为\0。
使用构造方法的好处:
对多个属性赋值时,不需要重复的写实例名;
可以保证用户在new一个对象的时候必须对某一个属性进行赋值;
和2)类似,在创建对象时,对只读属性进行初始化。
绝大多数类都有构造方法,当我们定义好一个类之后,如果我们没有写构造方法,那么系统会自动给我们加上一个默认的无参数的构造方法,我们看不到,也无作用。
2.构造方法的使用
构造方法的名字和类的名字相同,并且无返回值,连void都能省略。我们一旦手写了一个构造方法,系统原先默认的无参的构造方法就不再为我们添加了。
比如给只读赋值:
主程序中:
Person zsPerson = new Person("张三",’男’);
类中:
publicPerson(string name, char sex)
{
this.name = name;
this.sex = sex;
this.age = 18;
this.chinese = 0;
this.math = 0;
this.english = 0;
}
而且,要实例化一个类,必须调用它的构造方法。
3.构造方法的重载
和其他方法一样,构造方法也可以重载。方式类似,根据传入的参数确定要用的构造函数。
比如:
publicPerson(string name,char sex,int age,int chinese,int math,int english)
{
this.name = name;
this.sex = sex;
this.age = age;
this.chinese = chinese;
this.math = math;
this.english = english;
}
public Person(string name, char sex)
{
this.name = name;
this.sex = sex;
this.age = 18;
this.chinese = 0;
this.math = 0;
this.english = 0;
}
当输入的类型是:string,char,int,int,int,int时是第一个重载,比如
Person zsPerson= new Person("张三¨",'男',17,90,80,100);,
当输入的类型是:string,char时是第二个重载,比如:
Person lsPerson = new Person("李四",'女');
---------------------- android培训、java培训、期待与您交流! ----------------------