• 【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使用...接收可变长参数,并作为数组返回。
    详细的内容将会在下一篇博客中描述。

  • 相关阅读:
    iOS学习笔记35 社交分享
    iOS学习笔记35 社交分享
    iOS学习笔记08 Quartz2D绘图
    iOS学习笔记08 Quartz2D绘图
    iOS学习笔记08 Quartz2D绘图
    iOS学习笔记08 Quartz2D绘图
    iOS学习笔记14 网络(三)WebView
    iOS学习笔记14 网络(三)WebView
    iOS学习笔记14 网络(三)WebView
    Oracle使用dblink连接SqlServer
  • 原文地址:https://www.cnblogs.com/ldragon2000/p/14132247.html
Copyright © 2020-2023  润新知