【Java学习】06. 面向对象

本篇博客主要介绍面向对象的基本内容。

类的基础知识:

面向对象有两个最基本的概念:类和对象:

  • 对象(不是男女朋友(~ ̄▽ ̄)~):对象是类的一个实例,有属性和行为。
  • 类:类是一个模板,它描述一类对象的属性和行为。
    • 属性:一个对象具有的特征,如大小,颜色等。
    • 行为:一个对象能执行的动作

类的一般形式

class classname{
      type instance-varible1;
      ...
      type methodname(){
      // code
      }
}

一个简单的类

例如下面我们创建一个类:

public class People{
    String name;
    String sex;
    int age;
 
    void eat() {
      System.out.println("eat");
    }
 
    void run() {
      System.out.println("run");
    }
 
    void sleep(){
      System.out.println("sleep");
    }
}

在上面这个类中我们创建了人 类(相对于我们是女娲在计算机中造人哈)。对于人来说,有属性:姓名、性别、年龄。有行为:吃、跑、睡。这些只是一个描述,而不具体的代表某一个人,我们要制定一个具体的人,就得知道一个人具体在哪里。就是说会占据一定的内存空间。

实例化(声明)对象

下面我们来将上面的类进行实例化:

People li = new People();

这样就实例化出来一个People li出来。
可以将上面的代码分为两步:

People li;      //将变量li声明为对People对象的引用,但li的值仍为NUll,引用li会产生编译错误。
li = new People();      //将引用对象赋值给了实际的对象,这里保存的是对象的地址

new运算符:为对象分配内存,当内存空间不足时会发送运行时异常

对象的变量赋值:

看一下这个例子:

People li = new People();
People zhao = li;

现在有这么的一个问题:
li和zhao是同一个实例吗?还是zhao是对li的副本的引用。
这一点如果将上面一个例子能理解,那么就不会出什么岔子了,这里zhao得到的只是li的内存地址,所以指向的对象会是同一个对象。

方法

方法的一般形式

type name(parameter-list){
      // code
      return 值; // 返回值,可选。
}

其中type指定了返回方法的数据类型,不返回值,必须指定为void。
在上面的实例中,我们已经将三个方法放入到我们的类中。在实例化后我们可以通过对应的实例名称.方法名进行引用。如:

li.run();

返回值

当函数有返回值时才可以使用变量名进行接收。并且这个值的类型必须是在方法名前指定好的类型。并且接收返回值的变量必须是与返回值的类型兼容的类型。

参数

方法接收参数在括号内接收参数列表,参数列表中的参数需要声明参数类型。普通的添加参数就不多说了,来说一下可变长参数,举一个例子如下:

public void print(String... args) {
        for (int i = 0; i < args.length; i++) {
            out.println(args[i]);
        }
    }

java使用...接收可变长参数,并作为数组返回。
详细的内容将会在下一篇博客中描述。

原文地址:https://www.cnblogs.com/ldragon2000/p/14132247.html