6、类和对象

  1. 对象:就是某种事物的抽象。
  2. 面向对象程序设计:强调把数据和操作结合成一个不可分的系统单位,对象的外部只需要知道它做什么,不必知道怎么做。
  3. 封装:是面向对象的主要特性。所谓封装,就是把客观事物抽象并封装成对象,即将数据成员,属性,方法和事件等集合在一个整体内。通过访问限制,还可以隐藏内部成员,只允许可信的对象访问或操作自己的数据和方法。
  4. 继承:是面向对象了的程序设计中代码重用的主要方法。继承允许使用现有类的功能,并无需重新改写原来类档的情况下,对这些功能进行扩展。继承可以避免代码复制和相关的代码维护问题。继承的过程就是从一般到特殊的过程。被继承的类称为基类、父类或超类,通过继承创建的类称为子类或派生类型。
  5. 在C++中,一个子类可以继承多个基类,即多重继承;而在java中,一个子类只能有一个基类,即单一继承。但java允许实现多个接口。
  6. 多态:是指同样的消息被,不同类型的对象接收时导致完全不同的行为。多态性允许每个对象以自己的方式去响应共同的消息,从而允许用户以更明确的方式建立通用软件,提高软件开发的可维护性。
  7. 类是一个数据结构,类定义数据类型的数据和行为。对象是基于类的具体实体,有时称为类的实例(instance)。类与对象的关系类似于车型设计图和具体的车。
  8. 类的可访问性:public:公共类,可以被所有其他类访问。如果被,同一个包,中的其他类访问,则可以直接引用。如果被其他包中的类访问,则需要import进去。如果没有使用public,即默认的,则为友好类,也称为包访问性。友好类只能被同一个包中的其他类访问。如果一个类引用其他包中的友好类,则会产生编译错误。
  9. volatile关键字用于声明简单类型变量,如int,float ,boolean等数据类型。如果这些简单数据类型声明为volatile,则对于这个成员变量不能保存它的私有副本。使用volatile字段可以保证变量值的安全性,但屏蔽掉了VM中必要的代码优化大师所以在效率上比较低。
  10. 使用transient声明一个实例变量,当对象存储时,其值不需要维持。
  11. 参数传递:如果形参是简单类型,则各自有副本,修改该变量(形参)的值,不影响实参的值。如果形参是引用类型,则指向堆栈中同一个地址,修改参数值影响该实参。
  12. 可变形参:一个方法最多只允许一个可变形参,且可变形参只能为方法的最后一个参数。可变形参允许向方法中传递可变数量的实参(0个或多个)。java编译器把可变形参转化为形参数组,形参数组主要用于传递可变数量的参数。如:void sum(int ... args)。
  13. 静态方法只能访问静态成员,在静态方法中引用this关键字会导致编译错误。静态方法通过类来访问,实例方法通过类的实例访问。
  14. 默认情况下,Java编译器以及运行环境在对浮点运算时,根据硬件环境不同产生不同精度的计算结果。采用strictfp来声明一个类,接口或方法,那么在所声明范围内,不同硬件平台所执行浮点运算结果保持一致。
  15. 代码如下:
public class Strictfp Demo {
public void main(String[] args) {
         System.out.println(f(1.23, 3.45));
}

strictfp static double f(double x, double y) {
         return x * y;
}
}





posted @ 2014-04-06 16:47  zmpandzmp  阅读(129)  评论(0编辑  收藏  举报