zoukankan      html  css  js  c++  java
  • 016:java类和对象

    Java:类和对象学习

    (转自:http://c.biancheng.net/view/940.html

    1        基本概念

    1. 类:类是描述了一组有相同特性(属性)和相同行为(方法)的一组对象的集合。
    2. 对象:对象或实体所拥有的特征在类中表示时称为类的属性。

    例如,每个人都具有姓名、年龄和体重,这是所有人共有的特征。但是每一个对象的属性值又各不相同,例如,小明和小红都具有体重这个属性,但是他们的体重值是不同的。

    对象执行的操作称为类的方法。比如,“人”这个对象都具有的行为是“吃饭”,因此,吃饭就是“人”类的一个方法。

     

    类是构造面向对象程序的基本单位,是抽取了同类对象的共同属性和方法所形成的对象或实体的“模板”。而对象是现实世界中实体的描述,对象要创建才存在,有了对象才能对对象进行操作。类是对象的模板,对象是类的实例。

    2        Java类的定义及定义类时可用的关键字

    同事说:类的定义就可以看成是陈述句。就好比咱们写记叙文的开头介绍时间地点人物一样。

    类是Java中的引用数据类型,java中的程序都是基于类的。

    2.1       类的定义

    Java中定义类:使用class关键字,类名,表示程序体的大括号。

    语法如下:

    [public][abstract|final]class<class_name>[extends<class_name>][implements<interface_name>] {

        // 定义属性部分

        <property_type><property1>;

        <property_type><property2>;

        <property_type><property3>;

        …

        // 定义方法部分

        function1();

        function2();

        function3();

        …

    }

    提示:上述语法中,中括号“[]”中的部分表示可以省略,竖线“|”表示“或关系”,例如 abstract|final,说明可以使用 abstract 或 final 关键字,但是两个关键字不能同时出现。

    上述语法中各关键字的描述如下。

    • public:表示“共有”的意思。如果使用 public 修饰,则可以被其他类和程序访问。每个 Java 程序的主类都必须是 public 类,作为公共工具供其他类和程序使用的类应定义为 public 类。
    • abstract:如果类被 abstract 修饰,则该类为抽象类,抽象类不能被实例化,但抽象类中可以有抽象方法(使用 abstract 修饰的方法)和具体方法(没有使用 abstract 修饰的方法)。继承该抽象类的所有子类都必须实现该抽象类中的所有抽象方法(除非子类也是抽象类)。
    • final:如果类被 final 修饰,则不允许被继承。
    • class:声明类的关键字。
    • class_name:类的名称。
    • extends:表示继承其他类。
    • implements:表示实现某些接口。
    • property_type:表示成员变量的类型。
    • property:表示成员变量名称。
    • function():表示成员方法名称。

    2.2       Java 类名的命名规则

    1. 类名应该以下划线(_)或字母开头,最好以字母开头。
    2. 第一个字母最好大写,如果类名由多个单词组成,则每个单词的首字母最好都大写。
    3. 类名不能为 Java 中的关键字,例如 boolean、this、int 等。
    4. 类名不能包含任何嵌入的空格或点号以及除了下划线(_)和美元符号($)字符之外的特殊字符。

    2.3       Java 类的小例子

    定义类的步骤:

    (1) 声明类。编写类的最外层框架,声明一个名称为 Person 的类。

    1. public class Person {
    2.     // 类的主体
    3. }

    (2) 编写类的属性。类中的数据和方法统称为类成员。其中,类的属性就是类的数据成员。通过在类的主体中定义变量来描述类所具有的特征(属性),这里声明的变量称为类的成员变量。
    (3) 编写类的方法。类的方法描述了类所具有的行为,是类的方法成员。可以简单地把方法理解为独立完成某个功能的单元模块。
    下面来定义一个简单的 Person 类。

    1. public class Person {
    2.     private String name;    // 姓名
    3.     private int age;    // 年龄
    4.     public void tell() {  
    5.         // 定义说话的方法
    6.         System.out.println(name+"今年"+age+"岁!");
    7.     }
    8. }

    如上述代码,在 Person 类中首先定义了两个属性,分别为 name 和 age,然后定义了一个名称为 tell() 的方法。

    3        Java类的属性:成员变量的定义和声明

    类是Java中的引用数据类型,java中的程序都是基于类的。

    3.1       类的定义

    Java中定义类:使用class关键字,类名,表示程序体的大括号。

    语法如下:

    [public|protected|private][static][final]<type><variable_name>

    各参数的含义如下。

    • public、protected、private:用于表示成员变量的访问权限。
    • static:表示该成员变量为类变量,也称为静态变量。
    • final:表示将该成员变量声明为常量,其值无法更改。
    • type:表示变量的类型。
    • variable_name:表示变量名称。

    可以在声明成员变量的同时对其进行初始化,如果声明成员变量时没有对其初始化,则系统会使用默认值初始化成员变量。
    初始化的默认值如下:

    • 整数型(byte、short、int 和 long)的基本类型变量的默认值为 0。
    • 单精度浮点型(float)的基本类型变量的默认值为 0.0f。
    • 双精度浮点型(double)的基本类型变量的默认值为 0.0d。
    • 字符型(char)的基本类型变量的默认值为 “\u0000”。
    • 布尔型的基本类型变量的默认值为 false。
    • 数组引用类型的变量的默认值为 null。如果创建了数组变量的实例,但没有显式地为每个元素赋值,则数组中的元素初始化值采用数组数据类型对应的默认值。
      定义类的成员变量的示例如下:
    1. public class Student {
    2. public String name; // 姓名
    3. final int sex = 0; // 性别:0表示女孩,1表示男孩
    4. private int age; // 年龄
    5. }

    上述示例的 Student 类中定义了 3 个成员变量:String 类型的 name、int 类型的 sex 和 int 类型的 age。其中,name 的访问修饰符为 public,初始化值为 null;sex 的访问修饰符为 friendly(默认),初始化值为 0,表示性别为女,且其值无法更改;age 的访问修饰符为 private,初始化值为 0。

    4        例 1

    下面以一个简单的例子来介绍成员变量的初始值,代码如下所示。

    1. public class Counter {
    2.     static int sum;
    3.     public static void main(String[] args) {
    4.         System.out.println(sum);
    5.     }
    6. }

    在这里用静态的方法来修饰变量 sum,输出结果是 int 类型的初始值,即:0。

  • 相关阅读:
    Rocketmq
    HTTPS 证书显示不安全
    js json 转为url参数
    Telnet 安装
    自己配置环境变量不起作用的问题
    Android笔记-Dalvik VM-1
    Fuzzy Logic/Expert System/Control
    PhD第一学期小结
    linux中的>、>>、2>&1、管道命令
    Hyper-v虚拟机设置静态IP
  • 原文地址:https://www.cnblogs.com/fanglijiao/p/15506707.html
Copyright © 2011-2022 走看看