类和对象
权限修饰符
this关键字
this.name = name;
//第一个name指的是类中的name成员变量,而第二个name则指的是形参name,实质上功能就是将形参name值赋给成员变量name。事实上,this引用的就是本类的一个对象。
静态变量、常量
有时,在处理问题时会需要两个类在同一个内存区域共享一个数据。例如,在球类中使用pi这个常量,可能除了本类需要这个常量外,在另一个圆类中也需要这个常量。这时没必要在两个类中同时创建pi常量,可以将这个常量设置为静态的。pi常量在内存中被共享的布局如图:
被声明为static的变量、常量和方法被称为静态成员。静态成员属于类所有,区别于个别对象,可以在本类或其他类使用类名和“.”运算符调用静态成员。
1)在静态方法中不可以使用this关键字;
2)在静态方法中不可以直接调用非静态方法;
3)不能将方法体内的局部变量生命为static的。
对象的引用
如一个Book类的引用可以使用以下代码:
Book book;
通常一个引用不一定需要有一个对象相关联。引用与对象相关联的语法如下:
Book book = new Book();
//引用只是存放一个对象的内存地址,并非存放一个对象。严格地说,引用和对象是不同的,但可以将这种区别忽略,,如可以简单地说book是Book类的一个对象,而事实上应该是book包含Book对象的一个引用。
对象的比较
"= ="运算符和equals()方法比较的内容是不相同的:
equals()方法是String类中的方法,它用于比较两个对象引用所指的内容是否相等;
“==”运算符比较的是两个对象引用的地址是否相等。