折腾了几天VPS之后,竟然忘记了去学习java se,真是该死,所以一次性补了几课。
今天学习的是面向对象的特征之封装。知识点如下:
1.类中的属性又叫做成员变量(member variable),属性用英文表示为property或者attribute。
2.对象(object)又叫做实例(instance),生成一个对象的过程又叫做类的实例化。
3.命名约定:
a)类:首字母要大写,如果一个类名由多个单词构成,那么要求每个单词的首字母都大写,而且中间不能使用任何的连接符。比如Person类,MemberTest类。
b)方法:首字母小写。如果一个方法由多个单词构成,那么第一个单词的所有字母全都小写,从第二个单词开始,每个单词首字母大写。比如add,addThreeInt。
c)属性:命名约定与方法完全一样。比如age、ageOfPerson
4.属性需要定义在类中,又叫做成员变量;而定义在方法中的变量叫做局部变量。
5.如何定义属性?
public class Person
{
修饰符 类型 属性名称;
}
如何使用属性?与方法一样,使用.运算符。首先生成类的实例,然后使用实例+”.”的方法来使用属性。
Person person=new Person();
person.age;
6.局部变量使用前必须要生命并赋初值,而成员变量使用前必须要声明,但可以不赋初值。
7.成员变量与局部变量的练习与区别:
a)无论是成员变量还是局部变量,使用前都需要生命(定义);
b)对于局部变量来说,使用前必须要初始化;对于成员变量来说,使用前可以不初始化。如果没有初始化,那么每个类型的成员变量都有一个默认的初始值。
- Byte short int long类型的初始值为0;
- float double类型的初始值为0.0;
- char类型的初始值 ‘u0000′
- boolean类型的初始值为false
8.引用类型(refrence type):引用类型是用在对象上的。
Person person=new Person()
其中person就是一个引用类型。
一个对象可以被多个引用所指向,但同一时刻每个引用只能指向唯一的一个对象,如果一个对象被多个引用所指向,那么无论哪个引用变量对对象的属性进行了修改,都会反映斗啊其他的引用当中。
看下面两个程序:
1.)
public class People
{
int age = 20;
public void change(People people)
{
people.age=30;
}
public static void main(String[] args)
{
People people=new People();
int age=people.age;
System.out.println(age);
people.change(people);
int age2=people.age;
System.out.println(age2);
}
}
输出20
30
2)
public class People
{
int age = 20;
public void change(People people)
{
people = new People();
people.age=30;
}
public static void main(String[] args)
{
People people=new People();
int age=people.age;
System.out.println(age);
people.change(people);
int age2=people.age;
System.out.println(age2);
}
}
输出20
20
一共生成了两个对象,一个在change里面 一个在main里面,修改了只是修改了change里面。
引用就是一个地址。