zoukankan      html  css  js  c++  java
  • Java对象与类知识点总结(基础知识2)

    1.OOP:面向对象程序设计

    2.类构造对象的过程称为创建类的实例。

    3.封装:将数据和行为组合到一起,但对对象的实现方式隐藏。只能通过对象的方法,对对象的数据进行交互。

    4.数据叫实例字段、操作数据的过程叫方法

    5.Java所有类都扩展与Object类

     6.对象三大特性:状态、行为、标识

    7.类之间关系:依赖use a 使用或操作对方称为依赖

    聚合has a包含关系

    继承is a 可以用父类的方法,也可以重载方法

    8.构造器的名字和类名应该相同

    Date类 构造器也叫Date 新构造一个Date对象就在构造器前加new    new Date()

    9.对象变量只是引用一个对象,并不实际包含一个对象

    10.Date类表示时间点、LocalDate类表示日历表示法表示日期。

    11.静态工厂方法新建对象 在:

    12.更改器和访问器的区别:
    更改器方法调用后,对象状态会改变。

    访问器则不会改变(各种getId getName方法)。(例如String.toUpperCase()方法 原对象不会改变,会新建一个新的字符串对象并返回)

    13.主力类(workhorse class)自己编写的复杂的类

    14.

    15.构造器和类同名,每个类可以有一个以上构造器(根据参数不同,进行重载)

    构造器没有返回值,总是伴随new一起调用。

    16.JDK10之后可以用var声明局部变量,无需指定类型。

    var harry=new Employee(10001);

    17.隐式参数和显式参数

    employee.raiseSalart(5);

    emplyee为隐式参数(也叫方法调用的接收者),方法名里面的5是显式参数

    在方法中我们可以使用this代表隐式参数

    18.数据操作:私有的数据、公共的访问器、公共的更改器

    19.如果需要复制可变数据类型,应使用clone方法

    20.final定义的字段,必须在构造对象时初始化。

    21.所有静态字段(static)属于类,不属于对象

    22.静态方法是没有隐式参数的,也就没有this指针,直接用类来调用。

    23.静态变量(static):是可变的

    静态常量(static final):不可变的。

    24.官方Java只有按值调用。(方法得到参数值的一个副本,不能修改参数值的内容)

    25.基础类型调用时不能改变,对象引用参数可以改变对象值。

     原因:x为emp的副本,但是他们同时引用到同一个对象,所以在方法里改变的值就是同一个对象的值。

    书中有个简单的例子饶有趣味,图示画在了右面。


    26.重载overload:多个方法,名字相同,参数不同;

    27.方法的签名:方法名+参数类型

    index(int ,int )

    index(int)

    28.默认字段初始化:数值型为0 布尔型为false 引用为null(不建议依赖默认 不好的习惯)

    29.没有编写任何构造器,系统默认生成无参构造器

    但是只要构造了有参构造器,必须手动构造无参构造器!!!

    30.初始化数据字段的方法:

    (1)构造器设置值

    (2)在声明中赋值

    (3)初始化块(每次构造都要执行)(先初始化块 再构造器)

    class Emplyee
    {
        private int id;
    
        //初始化块
        {
            id=1000;
        }
        

    31.对于静态字段可以有静态初始化块 格式为:

    class Emplyee
    {
        private static int id;
    
        //静态初始化块
        static
        {
            id=1000;
        }

    32.Java有JVM的自动垃圾回收,所以不需要对象析构器,但是资源还是需要用close关闭的。

    33.JAR是Java的归档文件,是压缩的(使用了ZIP格式)。

    34.方法注释例子:IDEA设置方法注释参考:https://blog.csdn.net/jianghappyboy/article/details/80794552

    35.最后送给大家七个类设计技巧

    (1)保证数据私有

    (2)对数据进行初始化

    (3)不要在类中使用过多基本类型

    (4)不是所有字段都需要单独的字段访问器(get)和更改器(set)

    (5)分解有过多职责的类(解耦合)

    (6)类名、方法名要能体现他们的职责

    (7)优先使用不可变的类

  • 相关阅读:
    poj1363Rails(栈模拟)
    centos6.5设备mysql5.6
    SGU326Perspective(网络流量的最大流量)(经典赛车模型)
    扩大或缩小undo表空间
    Boost源代码学习---shared_ptr.hpp
    leetcode
    为客户打造RAC-DG一些遇到的问题汇总
    十归并排序有用的算法和二进制搜索的基础
    Delphi TNativeXML Node节点乱码的一种解决方法
    Delphi TcxTreeList 读取 TcxImageComboBoxItem类型的值
  • 原文地址:https://www.cnblogs.com/cckong/p/14260607.html
Copyright © 2011-2022 走看看