面向对象(类、对象,构造方法)

本文介绍了面向对象编程中的面向过程与面向对象的区别,重点讲解了类和对象的概念、构造方法的作用以及方法的重载。通过实例代码展示了如何在Java中定义和使用这些概念。
摘要由CSDN通过智能技术生成

一.面向对象和面向过程
    面向过程和面向对象都是程序设计的一种风格(思想)

    面向过程:
        是以函数(一个一个的功能)为结构进行代码组织,
        解决问题时,分析实现所需的步骤,然后一步一步实现即可
        代表语言:C语言
        相对于面向对象语言,扩展能力差,后期维护难度较大

    面向对象:(Object Oriented Programming),简称OOP
        是以类为单位组织的,(类:一类问题)
        高内聚,灵活度高,低耦合,易扩展,易维护,
        public class 人类{
            定义人有什么属性(变量)
            人有什么功能(方法)
        }
        典型代表语言:C++,C#,java,Python......

        动物类{
            动物共有的属性和功能
        }
        猫 继承 动物{
            定义自己特有的属性和功能
        }
        狗 继承 动物{
            定义自己特有的属性和功能
        }

    面向对象和面向过程是相辅相成的,面向对象离不开面向过程

二. 类和对象
    类:具有相同特征的事物的抽象描述,是抽象的、概念上的定义。
    对象:实际存在的该类事物的每个个体,是具体的,因而也称为实例。
    人类 --> 一类群体 概念
    张三 --> 具体的人 对象

    电脑 --> 一类电脑
    我的电脑 --> 可以使用的,具体的,对象

    编程是对现实生活事物的体现,根据现实事物进行抽象(定义)。
    先设计类(定义某一类事物的功能)

    类中可以定义:
        变量 属性 名词
        方法 行为 动词
        构造方法
        块 没有名字的一个代码块
        内部类 在类的内部定义类(嵌套}

变量按类型分:

         基本数据类型 引用数据类型:用类作为类型,String,数组

变量按位置分:

         成员变量(在类中定义)

                 可以使用基本数据类型,也可以是引用数据类型 java中的变量在使用前都必须初始化

                 成员变量可不对其初始化,系统会默认进行初始化 (int类型-->0,String类型-->null,boolean-->false)

                 成员变量可与在成员方法,构造方法,代码块中使用

     局部变量(在方法中定义)

               局部变量不会自动初始化 方法的参数也是一种局部变量

总结类和对象
    类:是一类事物的抽象概念,是一个模型
    对象:以类为模板,在内存中创建的实际存在的实例。

三.构造方法
1.构造方法的名字与类名相同

2.定义:构造方法的名字与类名相同,且没有返回值,且不需要使用void修饰

3.特点:类中没有定义时,会默认有一个无参的构造方法,在无参构造方法中为成员变量赋初始                 值,我们还可以定义有参的构造方法,通过有参造方法中为成员变量赋初始值 一旦类中                 定义了有   参的构造方法,那么默认的无参构造方法便会失效 如果需要,需要显定义无参               构造方法 。

四.方法重载
在一个类中,有多个方法名相同,但参数个数不同,称为方法的重载

如何区分方法名相同的方法: 通过参数的个数,类型,顺序来判断

方法重载的意义:做同一件事,但可以通过传入不同的参数做出不同的处理 方法的重载与方法的                                 返

public class Student {
    // 定义属性
    int num;
    String name;
    String gender;
 
    // 学习
    public void study() {
        System.out.println("好好学习");
    }
 
    // 考试
    public void exam() {
        System.out.println("认真考试");
    }
 
    public static void main(String[] args) {
//第一位学生
        Student stu1 = new Student();
        stu1.num = 1023;
        stu1.name = "GTY";
        stu1.gender = "男";
        stu1.study();
        stu1.exam();
//第二位学生
        Student stu2 = new Student();
        stu2.num = 1024;
        stu2.name = "LLL";
        stu2.gender = "女";
        stu2.study();
        stu2.exam();
    }
}

回值没有任何的关系

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值