栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【JAVA编】类和对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【JAVA编】类和对象

类和对象

一 面向对象和面向过程

1. 什么是面向对象?

我们知道java是一门纯面向对象语言,在面向对象的世界里,一切皆为对象

面向对象是解决问题的一种思想,主要依靠对象之间的交互完成的一件事情,用面向对象的思想来涉及程序更符合人对事物的认知

那面向对象各和面向过程区别又是什么呢?

我简单举个例子来区分面向对象各和面向过程是什么

比如你想吃西红柿炒蛋,怎么办?

有两个选择

1 自己去买材料 ,鸡蛋,西红柿,调料,打鸡蛋,切西红柿,起锅烧油,

2 去饭店,直接点一份西红柿炒蛋,付钱

这样可以看出它们的区别

1 是面向过程

面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。

2 是面向对象

面向对象是模型化的,你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现,至于这个功能是如何实现的,管我们什么事?我们会用就可以了。

面向对象的底层其实还是面向过程,把面向过程抽象成类,然后封装,方便我们使用的就是面向对象了。

2. 面向过程和面向对象的区别
面向过程

优点:性能比面向对象好,因为类调用时需要实例化,开销比较大,比较消耗资源。
缺点:不易维护、不易复用、不易扩展

面向对象

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程差

二 如何定义一个类

1 什么是类

首先先简单了解类,类是一个实体(对象)来进行描述的,主要描述该实体(对象)具体哪些属性(外观等),

哪些功能(主要用来干啥),我举个例子

比如:人

在java里可以看成一个类

他的属性指的是:姓名,年龄,性别等等

那功能那就相当是:跳,走,跑,吃饭等等

那在javak中如何对上述定义呢?如下

修饰符 class 类名{
      
    1.成员变量(属性)


    2.行为方法
   
}

具体代码如下:

public class Student {
    //成员变量(属性)
    public String name;
    public int age;
    public String gender;
    
    
    //成员方法
    public void Show(){
        
    }
}

class为定义类的关键字,Studay为类的名字,{}中为类的主体

修饰符有:public protected default ptivate

public(公有的)访问权限,可以修饰类,接口,变量,方法;public所修饰的内容,在当前类,同一个包,其他包都可以访问;

protected(受保护的):可以修饰变量,方法,不可修饰外部类;使用该修饰符修饰的类型可以在当前包,类,同一包类的子类中访问;其他包不可以访问;

default(默认):可以修饰类,接口,变量,方法使用该修饰符修饰的类型可以在当前包,类,同一包内的子类中访问;其他包不可以访问

private(私有的):可以修饰变量,方法,不能修饰外部类;使用该修饰符修饰的对象只可以在本类中使用,其他任何地方都不可以使用;

三 对象的创建

很简单,就是通过 new 关键字(类名)

比如创建是一个学生类Student那么可以用new个实例化对象

Student stu = new Student  //创建个实例化对象

四 成员变量和成员方法的调用

重点:成员变量它是依赖于对象,所以操作成员变量,首先要创建对象,
有对象,才能操作属性

注: 当是static修饰的时候就不是依赖对象,而是依赖类

操作:引用变量名.成员变量名

举例:一个学生类

//定义一个类
class Studay {
    //成员变量
    public String name;
    public int age;
    public String gender;

    //成员方法
    public void Show(){
        System.out.println("name:"+name+"tage:"+age+"tgender:"+gender);
    }
}


public class TestStuday {
    public static void main(String[] args) {
    Studay stu = new Studay();//创建一个实例化对象
    // 通过引用变量名.成员变量名 来调用成员变量和成员方法
    //通过引用变量名.成员变量名初始化
    stu.name="小二";
    stu.age=30;
    stu.gender="男";
    stu.Show();
    }
}

 1. 先有类,才有对象。

2. 类只有一个,对象可以多个。

3. 对象依赖于类。

比如:

//定义一个类
public class Studay {
    //成员变量
    public String name;
    public int age;
    public String gender;


    //成员方法
    public void Show(){
        System.out.println("name:"+name+"tage:"+age+"tgender:"+gender);
    }

    public void Show(String name, int age, String gender) {
        System.out.println("name:"+name+"tage:"+age+"tgender:"+gender);
    }
}

public class TestStuday {
    public static void main(String[] args) {
    Studay stu = new Studay();//创建一个实例化对象
    // 通过引用变量名.成员变量名 来调用成员变量和成员方法
        //初始化
     stu.name="小二";
     stu.age=30;
     stu.gender="男";
     stu.Show();

    Studay stu1 = new Studay() ;
        stu1.name="老李";
        stu1.age=40;
        stu1.gender="男";
        stu1.Show();

    Studay stu2 = new Studay();
        stu2.Show("小小",20,"女");//也可以传参初始化
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/870328.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号