欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java : 类与对象(一)

程序员文章站 2024-03-16 10:19:16
...

Java:类与对象(二)

类与对象

关于类与对象,有下面一些话需要理解

  • 对象=属性+方法,对象拥有一些属性,可以对对象进行一些操作(方法)

  • 类是对对象内容、方法的声明、定义及初始化

  • 类是创建对象的模板

  • 对象变量是对象的管理者,而不是所有者

  • 写在类里的成员变量,仅仅只是声明,变量不在类里,变量在每一个对象里


  • 成员变量
    成员变量与本地变量十分相似
    成员变量的生存期是对象的生存期,作用域是类内部的成员函数。
    成员变量会自动初始化为“零”值,比如 类型为 boolean 时,初始化为false,如果是一个对象变量则初始化为null。

  • 方法(函数)
    在类中进行定义,属于该类的对象可以根据定义来使用这样的方法,这些方法作用于调用他的对象

  • 构造函数
    构造函数没有返回类型
    成员函数的名字和类的名字完全相同,那么在创建这个类的对象时会自动调用这个函数,在初始化完成员变量后(这保证了我们可以在构造函数中初始化成员变量)
    构造函数也确确实实是一个函数,可使用重载特性


对象

制造对象,即将类中的声明实体化
类是制造对象的模板
对象可以调用所在类中的方法


实例

import java.lang.*;
import java.util.*;

class student {
    public String name;
    public int[] score = new int[5];
    public String stunum;

    public void setName(String name) {
        this.name = name;
    }//此处this.表示该变量"name"是对象中的name变量,而后面
     //一个"name"则是方法的参数"name"

    public void setStunum(String stunum) {
        this.stunum = stunum;
    }

    public void print() {
        System.out.print(name);
        for (int k : score) {
            System.out.print(k);
        }
        System.out.println(stunum);
    }
  //构造函数 当我们制造一个对象时可以调用 class  obj = new class()
    student() {
        for (int i = 0; i < 5; i++) {
            score[i]=i;
        }
    }

    student(int a){
        this();//调用student()
        score[0]=a;
    }//函数重载
     //本例中根据制造对象时所传参数选择执行哪个构造函数

    student(char a){
        this(5);//调用student(int a)
        score[0]=a;
    }
//构造函数因为与类同名,相当于没有自己的名字,构造函数
//重载时可且仅可在第一句通过this();根据参数调用其他
//构造函数
}

public class Main {
    public static void main(String[] args) {
        String a="abc";
        student stu1 =  new student();
        stu1.setName("王等闲");
        stu1.print();
        student stu2 = new student(5);
        stu2.print();
        student stu3 = new student(a);
        stu3.print();
        stu3.name=stu3.name.toUpperCase();
        stu3.print();
    }
}
//输出为    
王等闲01234null
null51234null
abc51234null
ABC51234null

封装

封装:把属性和方法(对属性的操作)放在一起组成类,并且用这些操作把属性掩盖起来,封装是面向对象的基本概念之一

Java : 类与对象(一)

保证在类的设计的时候做到封装:

  • 所有的成员变量必须是private的,这样就避免别人任意使用你的内部数据;
  • 所有public的函数,只是用来实现这个类的对象或类自己要提供的服务的,而不是用来直接访问数据。除非对数据的访问就是这个类及对象的服务。简单地说,给每个成员变量提供一对用于读写的get/set函数也是不合适的设计。

理解OOP特性:

  • 一切都是对象
  • 程序就是相互发送消息的对象的集合
  • 每个对象都有自己的存储空间,里面是其他对象
  • 每个对象都有一个类型
  • 所有属于某个特定类型的对象可以使用相同的方法

2018/5/29

相关标签: Java