Java——简介

Java

相信我们到这里,都会想问,Java到底是什么?

在这里小北作为菜菜,也很想发问?
所以从小北的角度,带着疑问进行探索吧。

Java时面向对象的语言

相信很多和和小北一样,都想问,什么事面向对象?没有对象的怎么面>.<.
小北,带着这个疑问,来了解
Java中的对象,是一个比较抽象的概念,抽象到什么程度呢?
一切皆对象
当然不是让爱情跨越物种和性别的意思哈。
在Java中,把能描述的物体都称作对象。像小猫小狗啊,可能在现实中我们还不平等,在这里,都是对象,猛一看没啥区别<.>。所以,我们就可以理解成,在Java中,对象就是具体的☞某个实际存在的实例。
那我们怎么来藐视这些实例呢,怎么描述出我们是人不是猫,不是狗呢。需要用到类,这个概念。类说了什么事呢,就说你又年龄,有名字,又一切能与别人不一样的特征,也描述了你能做什么事->能做什么动作。
那么在这里,类是什么?对一类事物的描述
对象是什么?一类事物的实例
事物有什么呢:事物都有自己的特性和行为
特性怎么表示呢,我们用成员变量来表示
行为怎么表示呢,我们用方法来表示你做了什么

如何创建一个类


public class Person {
    //这里我们创建一个人的类
    /*
        那我们想一下,人有什么特征
        1.名字
        2.年龄
        3.性别
        4.职业
        人会做什么?
        人和动物的区别所在,就是人能说人话
        方法:shuorenhua(speek)
     */
    //创建以成员变量来表示特征
    String name;//姓名
    int age;//年龄
    String sex;//性别
    String work;//工作,职业

    //定义一下人说人话的方法
    public static void speek(String name,int age,String sex,String work){
        //输出一下
        System.out.println("我叫:"+name+",今年"+age+"岁,是个"+sex+work+".");
    }
}

我们创建了Person类,但是我们怎么实现想要整明我们能说人话,说自己是个人呢。
方法1:

public class Demo {
    public static void main(String[] args) {

        Person p=new Person();
        //System.out.println(p);
        p.name="zhangsan";
        p.age=21;
        p.sex="男";
        p.work="程序员";
        p.speek(p.name,p.age,p.sex,p.work);
    }
}

方法2:

public class Demo {
    public static void main(String[] args) {

        Person p=new Person();
        //System.out.println(p);
        p.speek("zhangsan",21,"男","程序员");
    }
}

输出:
这里写图片描述

我们发现两种方式都能输出相同的结果。
在这里我们说下,成员变量和成员方法如何使用

(对象名就是我们创建的Person p,p就是Person类创建的对象)
使用成员变量:对象名.成员变量名。
那么第二种方法中,我们直接调用成员变量,通过传递参数的方法,直接给speek方法,传递参数,并没有通过给成员变量赋值的方式去实现。

到这里我们就接触到了Java三大特性中的——封装性

方法就是封装的一种体现。
private也是一种封装

关键字Private

在这里可能很多人就有疑问了,怎么突然又到关键字Private了,和private有什么关系?
那我们刚刚用到的成员变量,是默认的,是任何类都能调用的。我们欸~,突然不想让别人用了,那我们就在类中员变量最前面加上private。
然后我们突然发现我们自己怎么也没法调用成员变量了呢?
这时候,需要我们用到我们的getter和setter方法

在类中应用get和set方法

public class Person {
    //这里我们创建一个人的类
    /*
        那我们想一下,人有什么特征
        1.名字
        2.年龄
        3.性别
        4.职业
        人会做什么?
        人和动物的区别所在,就是人能说人话
        方法:shuorenhua(speek)
     */
    //创建以成员变量来表示特征
    private String name;//姓名
    private int age;//年龄
    private String sex;//性别
    private String work;//工作,职业

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getWork() {
        return work;
    }

    public void setWork(String work) {
        this.work = work;
    }

    //定义一下人说人话的方法
    public static void speek(String name,int age,String sex,String work){
        //输出一下
        System.out.println("我叫:"+name+",今年"+age+"岁,是个"+sex+work+".");
    }
}

调用也发生相应的改变

public class Demo {
    public static void main(String[] args) {

        Person p=new Person();
        //System.out.println(p);
        p.setName("zhangsan");
        p.setAge(21);
        p.setSex("男");
        p.setWork("程序员");
        p.speek(p.getName(),p.getAge(),p.getSex(),p.getWork());
    }
}

有没有好奇为什么使用private关键字?

构造方法

我们在这里讨论下构造方法

构造方法是干么的?
是专门用来创建对象的方法
我们可以看下代码

public class Person {
    //这里我们创建一个人的类
    /*
        那我们想一下,人有什么特征
        1.名字
        2.年龄
        3.性别
        4.职业
        人会做什么?
        人和动物的区别所在,就是人能说人话
        方法:shuorenhua(speek)
     */
    //创建以成员变量来表示特征
    private String name;//姓名
    private int age;//年龄
    private String sex;//性别
    private String work;//工作,职业

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getWork() {
        return work;
    }

    public void setWork(String work) {
        this.work = work;
    }

    public Person(String name, int age, String sex, String work) {
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.work = work;
        System.out.println("我叫:"+name+",今年"+age+"岁,是个"+sex+work+".");
    }
}

我们将speek方法删除,创建了全参构造方法

public class Demo {
    public static void main(String[] args) {

        Person p=new Person("zhangsan",21,"男","程序员");

    }
}

再观察我们的Demo类,发现我们创建对象时可以将参数直接写到对象里。

这里写图片描述

我们发现结果依然是原来的结果。

注意

1.构造方法的名称必须和所在类的名称完b相’y
2.构造方法不用返回值、类型、void也不需要
3.构造方法不能return一个具体的数值
4.如果没有编写任何构造方法,默认有一个
5.编写至少一个构造方法,不会默认再有
6.构造方法也可以重载

总结

一个标准的类通常有四个组成部分
1.所有的变量都要使用private关键字修饰
2.为每一个成员变量编写一堆get/set
3.编写一个无参构造方法
4.编写一个有参构造方法

猜你喜欢

转载自blog.csdn.net/waitwolf/article/details/81748865
今日推荐