折腾了几天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里面。
引用就是一个地址。

 

Java SE 第十记 面向对象特征之封装 续

发表评论

电子邮件地址不会被公开。 必填项已用*标注