zoukankan      html  css  js  c++  java
  • Java复习(二)类与对象的基本概念

    2.1面向对象的程序设计方法概述

    对象

    程序中:

    一切皆是对象

    都具有标识,属性和行为

    通过一个或多个变量来保存其状态

    通过方法实现他的行为

    将属性及行为相同或相似的对象归为一类

    类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为

    在面向对象的程序设计中,每一个对象都属于某个特定的类

    2.1.1抽象

    过程抽象

    数据抽象

    2.1.2封装

    2.1.3继承

    Java仅支持单继承

    2.1.4多态

    2.2类与对象

    2.2.1类的声明

    声明形式
    [public] [abstract|final]class 类名称
    [extends 父类名称]
    [implements 接口名称列表]
    {
       变量成员声明及初始化;
       方法声明及方法体;
    }

      关键字

    修饰符

    可以有多个,用来限定类的使用方式

    public公有类

    abstract抽象类

    final终结类

     2.2.2对象的声明与引用

    变量和对象

    变量除了存储基本数据类型的数据,还能存储对象的引用,用来存储对象引用的变量成为引用变量。

    对象的声明

    类名 变量名

    声明一个引用变量时并没有对象生成

    对象的创建

    new <类名>()
    eg: aclock = new Clock()

    2.2.3数据成员

    声明格式

    [public|protected|private] [static][final][transient][volatile]
    变量数据类型 变量名1[=变量初值],
               变量名2[=变量初值],...;
                      

    格式说明

    public、protected、private为访问控制符

    static指明这是一个静态成员变量

    final指明变量的值不能被修改

    transient指明变量是临时状态(不必持久化(serialize))

    volatile指明变量是一个共享变量

    实例变量

    没有static修饰的变量称为实例变量

    储存在堆中

    类变量

    需要加static修饰符来声明

    final修饰符

    实例变量、类变量、方法参数

    2.2.4方法成员

    可以没有。

    分为实例方法和类方法

    声明格式
    [public|protected|private] [static][final][abstract][native][synchronized]
    返回类型 方法名([参数列表])[throws exceptionList]
    {
               方法体
    }

    public、protected、private为存取控制符

    static指明方法是一个类方法

    final指明方法是一个终结方法

    abstract指明方法是一个抽象方法

    参数传递

    值传递:参数类型为基本数据类型时

    引用传递:参数类型为引用变量时(比如对象类型或数组时)

    实例方法

    类方法

    声明加static修饰符,不能被声明为抽象,不能访问实例变量。

    2.2.5类的组织

    import语句的格式

    import package1[.package2..].(classname|*);

    2.2.6类的访问控制

     

    关键字this的使用

    如果形式参数与实例变量名相同,则需要在实例变量名之前加this关键字,否则系统会将实例变量当成形式参数。

    在上面的set方法中,如果形式参数为radius,则需要在成员变量radius之前加上关键字this。

    代码如下:
    public void setRadius(int radius)
    {
    this.radius = radius
    }

    2.3对象的初始化和回收

    2.3.1构造方法

    一种和类同名的特殊方法

    用来初始化对象

    Java中的每个类都有构造方法,用来初始化该类的一个新的对象

    没有定义构造方法的类,系统自动提供默认的构造方法

    没有返回类型,修饰符void也不能有

    方法重载

    一个类中有两个及以上同名的方法,但参数表不同,这种情况就被称为方法重载。

    2.3.2内存回收技术

    垃圾收集器,finalize()方法

    2.4枚举类型

    [public] enum 枚举类性名称[implements 接口名称列表]
    {
       枚举值;
       变量成员声明及初始化;
       方法声明及方法体;
    }

    枚举类型没有public的构造函数

    枚举值是public、static、final的。

    2.4.1枚举类型的默认方法

    #取得枚举值的数组
    public
    static T[] values()
    #取得枚举值对应的字符串
    public
    String toString()
    #取得对象在枚举类型中的索引
    public
    final int ordinal()
    #字符串转换为枚举值
    public
    static T valueOf(String)

    2.5.2声明toString()方法

    2.5.4使用DecimalFormat类

    public String toString(){
          return ("Account#"+accountNumber+"with balance"+new java.text.DecimalFormat("$0.00").format(balance));
    
    }
  • 相关阅读:
    bzoj 1098 [POI2007] 办公楼 biu
    「 Luogu P2574 」 XOR的艺术——线段树
    「 Luogu P2801 」 教主的魔法——分块
    Luogu P1438 无聊的数列
    「 Luogu P2420 」 让我们异或吧
    「 SPOJ GSS3 」 Can you answer these queries III
    「 HDOJ P2227 」 Find the nondecreasing subsequences
    「 HDOJ P3887 」 Counting Offspring
    一些性质及公式
    OI杂记
  • 原文地址:https://www.cnblogs.com/kmxojer/p/10863322.html
Copyright © 2011-2022 走看看