访问实例变量和方法
通过已创建的对象来访问成员变量和成员方法,如下所示:
/* 实例化对象*/
ObjectReference = new Constructor();
/*访问类中的变量*/
ObjectReference.variableName;
/*访问类中的方法*/
ObjectReference.MethodName();
实例
下面的例子展示如何访问实例变量和调用成员方法:
public class Puppy{
int puppyAge;
public Puppy(String name){
//这个构造器仅有一个参数:name
System.out.println("小狗的名字是:“+name);
}
public void setAge(int age){
puppyAge =age;
}
public int getAge(){
System.out.println("小狗的年龄为:" +puppyAge);
return puppyAge;
}
public static void man(String []args){
/*创建对象*/
Puppy myPuppy = new Puppy("tommy");
/*通过方法来设定age */
myPuppy.setAge(2);
/*调用另一个方法获取age*/
myPuppy.getAge();
/*你也可以像下面这样访问成员变量*/
System.out.println("变量值:"+ myPuppy.puppyAge);
}
}
源文件声明规则
当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则
一个源文件中只能又一个public类
一个源文件课可以有多个非public类
源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java
如果一个类定义在某个包中,那么package语句应该在源文件的首行
如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。
import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。
java还有一些特殊的类,如内部类,匿名类。
Java包
包主要用来对类和接口进行分类。当开发Java程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。当开发Java程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。
Import语句
#调用对象的成员方法
类是封装对象的属性和行为的载体。
对象的引用
语法如下:
类名对象引用名称
Book book;
通常一个引用不一定需要有一个对象相关联。
Book book = new Book() #new创建对象操作符。
引用只是存放一个对象的内存地址,并非存放一个对象。
对象的比较
== 与equals()
equals()方法是String类中的方法,比较两个对象引用所指内容是否相等
== 运算符比较的是两个对象引用的地址是否相等。
对象的销毁
每个对象都有生命周期,当生命周期结束后分配给该对象的内存地址将会被收回。其他语言需手动回收废弃的对象,但java有一套完整的垃圾回收机制。垃圾回收器将回收无用的但占用内存的资源。
了解何种对象被Java虚拟机视为垃圾:
对象引用超过其作用范围,这个对象将会被视为垃圾。
将对象赋值为null。