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

JAVA面向对象基础

程序员文章站 2024-01-20 22:28:04
...

面向对象基础

前言

我们都知道Java是面向对象的,但面向对象究竟是什么,很多初学者在学习之初会产生疑惑,甚至于会钻牛角尖。我这一篇就大致讲讲我对面向对象的理解。

面向对象的基本概念

1.面向对象
面向对象符合人认识现实世界的思维方式。
但为什么就符合了?
简单来说,人在认识世界的时候,会将各种事物归类,比如说:

奔驰、宝马、奥迪等等都是车,就是他们的一个类,这些牌子的车都是,换句话说,你在大街上看到的每一辆车都是属于类的,都是类的一个实例化的对象。

再举个例子:

人类是一个类,我们每个人都是人类的一个实例化的对象。

这样大体就明白了吧?

如果还不明白,那就想想你从小呆过的班级,比如说是四年级一班,当我说四年级一班的同学,这是个抽象的,没办法具体到哪一个人身上的,但是我说,四年级一班的XXX同学,这就很实在了,具体到一个特殊个体了,这也就是思维上的实例化。

2.对象
在Java中有一句话,叫做万物皆对象,我们所认知的世界中,任何事物都可以用对象来描述,也就是上边所说的个体,这些个体是可以分门别类的。

3.类
我们之前说,对象是可以分门别类的,那么,在Java中,我们称分出来的人类等等这些门类为
类是具有相同属性和方法的一组对象的集合,它定义了对象将会拥有的特征和行为。
特征=属性 行为=方法

如何去定义一个类

定义类的语法格式如下:

[访问修饰符] class 类名{
    //类里面的代码
}

例如:

public class Person{
    //代码
}

这样我们就创建了一个Person类。

如何定义属性

我们说了,类定义了对象将会拥有的特征和行为,我们现在有类了,怎么去定义他的特征呢?这就到了我们定义属性的时候
[访问修饰符] 数据类型 属性名;
例如:

public String name;
public int age;
public char sex;

这样我们就定义了名字、年龄和性别三种属性,String为字符串,它不属于基本数据类型,以后我们就会接触到。

如何定义方法

现在我们就要定义类的行为,也就是类的方法了:

[访问修饰符] 返回值类型 方法名(参数1,参数2...参数n){
    //代码块
}

例如:

public void kiss(){
    //代码
}

这样我们就有了kiss行为,这里的void代表的是空返回值,也就是没有返回值的意思。另外需要注意的是,如果返回值类型不为void,那么需要通过return来返回一个与返回值类型相同的数据。

创建和使用对象

我们有了属性和方法,接下来就是实例化了,把抽象的类实例化为具体的对象。

类名 对象名 = new 类名()

拿我们之前写的Person类举个栗子

Person person = new Person();

这样我们就有了一个人。
那么如何去使用它呢?
使用对象的属性和方法,需要使用”.”

对象名.属性
对象名.方法名()

同样的,我们那之前实例化出的person对象来进行举例

person.name="张丹";
person.age=20;
person.sex='女';
person.kiss();

这样我们实例化出来的person就有了它的特征了,名字叫张丹,20岁,女,还做了一个羞羞的kiss动作,当然,我们没给它写具体的kiss动作怎么做。

完善

下面我们把代码给完善一下

public class Person{
    //定义属性
    public String name;
    public int age;
    public char sex;
    //定义一个带参的kiss方法
    public void kiss(String toName){
        System.out.println("一个叫"+this.name+"的"+this.sex+"生在"+this.age+"岁的时候和"+toName+"亲吻了");
    }
}

这样一个Person类就大致成型了,接下来,我们去main方法运行它

public static void main(String[] args){
//实例化Person类
Person person = new Person();
person.name="张丹";
person.sex='女';
person.age=20;
person.kiss("王洛");
}

当然,我们的代码可以更简单。
this的用途是代表当前的对象,这个以后再说。
这样的输出结果为:

一个叫张丹的女生在20岁的时候和王洛接吻了

多加练习,这面向对象也就了解了。

祝学习愉快。



end