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

Java面向对象的基础

程序员文章站 2022-05-25 20:49:45
...

基本属性

首先我们需要了解JAVA面向对象中有几点需要注意的:

  • Class
  • 对象 Object
  • 属性 Field
  • 方法 Method

Class

  类是什么?可以把类理解为一个系。如人、猫、车等。这个概念是抽象的,是没有实体的。
  也就是说类是只提供一些公共属性,但是这个属性是没有具体值的。这个时候就需要把类实例化,使其成为一个对象。
Java面向对象的基础

Object 对象

  前面说到了,一个Class类只是相当于一个框架而已,而具体的使用则需要创建一个对象,对框架里的属性进行具体的赋值。
  如:一个名为人的Class里面,提供了身高,年龄等属性。
这时候就需要把人类对象进行实例化并赋值。

人类

public class Man{
        private int age;//年龄
        private int height;//身高
        public void setAge(int age) {
            this.age = age;
        }

        public void setHeight(int height) {
            this.height = height;
        }
    }

实例化

public static void main(String[] args) {
        Man man = new Man();//通过一个类创建一个实例
        man.setAge(19);//设置年龄
        man.setHeight(182);//设置身高
  }

  通过setAge(int age)setHeight(int height) 方法就已经对一个人类的实例进行了描述,这样man的实例就可以代表一个具体的人了,就不再是抽象的一个人类了。

Field 属性

属性其实在上一个例子里已经使用到了

 public static class Man {
        private int age;//年龄属性
        private int height;//身高属性
        private String name;//姓名属性
   }

  一个类里特有的成员变量就可以理解成一个属性。
  如人类里的:年龄、身高、姓名等,这些变量被定义在Man这个类里,这三个变量就是人类所拥有的属性。

Method 方法

  方法就可以理解为一个具体的功能。如一部手机,可以用来打电话、发短信、拍照等。每一项独特的功能就可以理解为手机是拥有这些方法的。

public class Phone {
        private void sendMessage(String content) {
            System.out.println("发送短信内容为:" + content);
        }
    }

sendMessage(String content)就是为手机类里的一个特定方法。方法里是可以做具体的业务逻辑。


如上面的人类:

public static class Man {
        private int age;//年龄属性
        private int height;//身高属性
        private String name;//姓名属性

        //设置具体的年龄
        public void setAge(int age) {
            this.age = age;
        }

        //取出具体的年龄
        public int getAge() {
            return age;
        }
    }

这里通过setAge()方法给本来无具体值的age变量设置为了传进来的具体值。

一般对方法的调用都是 对象.方法

Phone iPhone=new Phone();
iPhone.sendMessage("明天去看蔡徐坤打球");

控制台输出为

"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" "-javaagent:D:\idea\IntelliJ IDEA 2020.2.3\lib\idea_rt.jar=53727:D:\idea\IntelliJ IDEA 2020.2.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;C:\Users\Administrator\IdeaProjects\ndd\out\production\ndd" com.company.Main
发送短信内容为:明天去看蔡徐坤打球

Process finished with exit code 0

面向对象是JAVA最重要也是最基础的,需要牢牢掌握。

相关标签: JAVA基础专栏

上一篇: 集合

下一篇: mysql 批量更新