方法的非访问权限修饰符
用static修饰的方法称为静态方法,属于整个类所有。用native修饰的方法称为本地方法,这类方法通常用其他语言书写方法体,并实现方法功能;用synchronized修饰的方法称为同步方法,该类方法主要用于多线程共存的程序中的协调和同步。
访问权限的修饰符
公有访问控制符 public 使用该类修饰符的方法可作为该类对外的借口,程序可以通过它与类体内的成员进行信息交换。
默认访问控制符,具有包访问性,可被同一个包的其他类访问。
私有访问控制 private 使用该访问控制符的方法只能被该类自身访问,任何其他类都不可访问,包括该类的子类。
保护访问控制符 protected 使用该访问控制符修饰的方法可被该类自身,同包的其他类和其他包中的该类的子类访问。
实际项目中,最好把一个类中的实例变量设为private。 必要时用public方法设置或读取private实例变量的值。这样有助于对客户隐蔽类的实现细节,减少错误,提高程序的可修改性。
设置和读取方法习惯上的命名为setXXX 和 getXXX
对象:
Java程序由类构成,在类中封装了成员变量和对成员变量操作的方法,但是一般并没有对成员变量进行初始化。
Java程序需要定义类的对象,并完成对象的初始化,然后通过对象调用类的各种成员。
对象:是指客观事物问题域中的实体
对象有三大特性:状态,行为,和标识
类与对象的区别:
类是对显示世界一类对象的抽闲,而对象则是对现实世界某个实体的抽象。
类是一个模板,由它可以产生具有某种共同特征的若干个不同的对象,对象是类的实例化,一个对象一定属于一个类。
类中的成员变量(静态成员变量除外)不会被分配内存单元,而每一个对象在创建后都会在内存中开辟一块空间,用于存放该对象成员变量的值。
New关键字:
声明对象的一般格式:
类名 对象名; 如 Person zhangsan;
此时内存中没有任何zhangsan的数据,即zhangsan还是一个空对象,不能使用,要使用这个对象还必须为其分配内存,也叫做为对象分配实体。(通过使用new运算符和类的构造方法可以实例化某个对象。)格式如下:
对象名=new 构造方法名([参数1][,参数2]…);
默认的构造方法中,变量被默认的初始值为:
整型变量默认值是0,浮点型默认为0.0f ,双精度型默认为 0.0d; 布尔型默认为false;
对于引用型,或复合类型数据,如字符串等数据,默认值为null。
匿名对象/无名对象: 在创建完对象时,不定义对象的名字,而直接调用这个对象的方法。
new Person(“张三,20”);
使用匿名对象,主要有以下两种情况:
(1)、一个对象只进行一次构造方法调用,
(2)、将匿名对象作为实际参数传递给一个函数使用。
如果有一个方法需要以一个Person类的实例作为参数,那么可以写为:
Publicvoid getPerson(new Person());
构造方法的特点:只要被调用,就会自动执行。
对象引用成员变量:
对象通过”.”运算符引用起成员变量。 对象名.成员变量名
zhangsan.age=21;
java语言中对象可以作为类的成员变量出现(本类的对象可以作为本类的成员变量。)(字符串)
对象引用成员方法:
通过”.”运算符来进行。 对象名.成员方法名([实参表]);
如果方法有返回值,对它的调用通常作为一个数值来处理。例如 int larger=max(3,4);
如果方法没有返回值,则对这个方法的调用必定是一条语句。比如
System.out.println(max(3,4));println方法没有返回值,其功能是输出信息。
参数传递:
调用方法时,需要参数传递,以实际参数代替形式参数。
根据参数类型,分为,传值调用和引用调用。
(1)传值调用
进行参数传递时 实际参数必须与方法的形式参数使用相同的顺序。称为参数顺序结合。基本类型作为方法参数时,参数传递的是变量值而不是地址。因此不会改变调用方法的参数值。
(2)引用调用
引用也是一种数据类型,可以把它想象为类似于C语言中的指针,它指示了对象在内存中的地址。如果定义了不止一个引用指向同一个对象,那么这些引用是不同的,因为引用也是一种数据类型。