• 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;
    }
    }





  • 相关阅读:
    win10系统下office 2019激活
    如何根据【抖音分享链接】去掉抖音水印
    Java多线程学习之ThreadLocal源码分析
    Java多线程学习之synchronized总结
    Java多线程学习之线程的取消与中断机制
    Java多线程学习之Lock与ReentranLock详解
    Java多线程学习之线程池源码详解
    MyBatis 一、二级缓存和自定义缓存
    Spring 高级依赖注入方式
    Spring 依赖注入的方式
  • 原文地址:https://www.cnblogs.com/zmpandzmp/p/3648786.html
Copyright © 2020-2023  润新知