Fork me on GitHub

JAVA的学习之对象与类

1.对实例域做出修改的方法称为更改器方法,仅仅访问实例域而不进行修改的方法称为访问器方法;

2.在一个源文件中,只能有一个公共类,但可以有任意数目的非公共类;

3.数据成员也就是实例域,建议都是使用private修饰,确保封装性;

4.私有的方法(private)不会被外部的其他类操作调用,可以将其删去,如果方法是公有的(public)就不能将其删去,因为其他代码可能依赖它;

5.修饰符中的final以及static的区别和联系?
static表示不要实例化就可以使用,修饰的变量或者方法被所有实例共享;
final表示不可改变,终态,可以理解为常量,一旦在类中定义并且初始化,就不可改变;

6.

1
2
3
4
5
6
class Employee
{
private static int nextId=1;//该类的所有事例将共享一个nextID,也就是说只有一个
private int id;//所有实例(对象)均有各自的拷贝
....
}

7.静态方法不能操作对象,不能在静态方法中访问实例域,只能访问自身类中的静态域;可以通过类名直接调用静态方法;由static修饰的变量或者函数,表示属于类且不属于类对象的变量和函数;

8.类中的静态main方法,用于测试类
二,值调用和引用调用,Java对对像采用的是值专递;总结:

  • 一个方法不能修改一个基本的数据类型的参数(数值型和布尔型)
  • 一个方法可以改变一个对象参数的状态;
  • 一个方法不能让对象参数引用一个新的对象;

9.如果构造器中没有显式的给域赋予初值,那么就会被自动的赋予默认值:数值为0、布尔值为false,对象引用为null;

10,

1
2
3
4
5
publi Employee(String name,doble salary)//类的构造器
{
this.name=name;//this指示隐式参数,也就是实际的实例值,参数变量用相同的名字将实例域屏蔽起来
this.salary=salary;
}

11,Java使用包(package)的主要原因是确保类名的唯一性,相当于C++中的命名空间(namespace),一个源文件中只能包含一个公共类(public static void main(){})

  • 列表项
1
2
3
4
5
public class Window extends Container
{
String warningString;//没有指定访问修饰符public 和 private,这里的变量默认不是private,意味着java.awt包中所有的类的方法都可以访问该变量!
...
}
觉得不错的话,那就请博主喝个茶吧!