zoukankan      html  css  js  c++  java
  • java学习笔记(Core Java)4 对象与类

    第四章 对象与类
    oop三个特征:对象的行为、状态、标识
    类之间关系:依赖,聚合,继承
    依赖:一个类的方法操纵另一个类的对象。(尽量减少这种耦合情况)
    聚合(has-a)一个类作为另一个类的变量而存在
    继承(is-a)

    如果只声明一个类变量,而没有在堆空间中开辟没存,
    那么这个变量就不能调用类中的方法
    因为这个变量没有引用对象

    !!一个对象的变量并没有实际包含一个对象,而仅仅引用了一个对象

    Data data;
    等同于:
    Data *data; //它只代表一个指针,而不拥有对象数据

    get/set 访问器

    一个源文件中只有一个公有类

    javac <==> make 对包含main方法的类编译,运行时会自动编译其他相关类
    也可以使用通配符*

    c++在类内部定义的方法为内联方法
    java中,虚拟机会自动的监视调用经常被调用、可优化的方法

    不要编写返回引用可变对象的访问器方法,如果要使用,应当返回一个clone副本

    class Employee
    {
    。。。
    private Data getHireDay();
    {
    return hireDay.clone(); //防止给其他Data变量赋值时的混肴状态
    }
    }

    final和static
    /////////////////////////////
    static:
    c:保留局部变量数据。数据具有本地隐藏性
    c++:该变量属于整个类而不是属于具体对象
    /////////////////////////////

    main() ;测试技巧:每个类都可以有一个main方法,并且可以单独运行一个类。运行程序则可以 java Application ,其他非启动类类中的main方法都不会运行

    java都是值传递
    一个方法不能修改一个基本数据类型的参数(数值、布尔)
    一个方法可以改变一个对象参数的状态
    一个方法不能让对象参数引用一个新的对象

    方法名与参数列表共同组成方法签名

    java初始化对象: 再回来看看!!
    重载构造器
    this调用其它构造器
    无参数构造器
    对象初始化块
    静态初始化块
    实例域初始化

    对象析构:finalize 不推荐 不知道什么时候调用
    包与引入包 import 类似于引用命名空间
    package == namespace
    import == using

    静态导入

    类设计技巧
    1)保证数据私有
    2)对数据初始化
    3)不要在类中过多的使用基本类型(可以使用聚合关系代替)
    4)不是所有的域都需要独立的访问器与更改器
    5)将职责过多的类进行分解
    6)类名与方法名应该能体现他们的职责

  • 相关阅读:
    jira启动错误解决:Failed to read artifact descriptor for com.atlassian.plugins.rest:atlassian-rest-doclet:jar:2.9.2:
    jira8.0 api变化--含解决方法
    jira spring scanner注意事項
    pom文件添加aliyun镜像
    jira插件打包时报osgi的错误
    jira 根据项目(project)获取优先级(proirity)
    scriptrunner fragments设置web resource的路径
    Ubuntu16.04 LTS上安装Go1.10
    ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock 问题修改
    VS2015编译OpenSSL
  • 原文地址:https://www.cnblogs.com/luckyQi/p/6782493.html
Copyright © 2011-2022 走看看