类与对象.

类与对象

面向对象:

java是面向对象编程的(Object-Oriented Programming,简记为OOP)

​ 面向对象的语言:Smalltalk、Eiffel、C++、Java、PHP

​ 面向过程的语言:C语言

1.什么是面向对象?

万事万物皆对象

​ 是当下最流行的程序设计方式之一。在面向对象的设计思想中,将程序视为多个对象共同协作的结果。程序被划分为多个子模块,再由多个对象完成各自模块最终实现程序的功能。

2.面向对象和面向过程的区别
  1. 面向过程,开发者注重于程序功能实现的过程,类似于执行者的角色,

    面向对象,开发者注重于对象的创建和调用,类似于似指挥者的角色

  2. 面向过程,开发者可以精准把控程序执行的每一步和每一个细节
    面向对象编程中,开发者无需知道对象的每一个细节,对象如何工作交给对象的设计者完成

  3. 面向过程适合小型项目,维护困难,不方便改动

    面向对象适合中大型的项目,维护方便

3.面向对象的3大基本特性:
  1. 封装
  2. 继承
  3. 多态

  • 属性
//定义全局变量的时候,不建议直接赋值操作
[访问权限修饰符][普通修饰符] 数据类型 变量名称;
//成员变量名称小写驼峰的命名方式  如:
public int sid;
public String studentName;
  • 方法
//定义方法   方法名是小写的
public void study(){
    System.out.println(studentName+"在学习")}
  • 构造方法

一个类中默认使用了无参构造,手动加上有参构造的话,无参构造会被覆盖掉,所以在添加有参构造的时候,一定要加上无参构造,以免发生一些错误。

构造方法的作用:初始化变量的数据

idea使用 alt+insert快捷键自动成构造方法

//一个类中有默认的构造方法,构造方法的方法名和类名一致
//构造方法的定义为:   [访问权限修饰符] [类名](形参列表数据){}

    //无参构造方法
    public Student(){
    }
    //有参构造方法
    public Student(int sid, String studentName){
        this.sid = sid;
        this.studentName = studentName;
    }

对象

对象的创建

测试环境:test目录下(绿色的目录)

生产环境:src目录下(蓝色的目录)

1.创建对象

创建对象的语法:类名 对象名 = new 类名();

创建匿名对象: new 类名(); 使用周期只有一次,每创建一次就会在堆内存初始化空间

//java程序的入口是main方法,在测试环境下创建对象
public static void main(String[] args){
    //创建对象的语法为:  类名 对象名 = new 类名();
    Student student = new Student();//无参
    //通过有参构造创建方法
    Student stu = new Student(1,"小王");//有参
        System.out.println(stu);
    
        //通过对象.属性,给属性赋值
        student.studentNamr = "小王";
        //通过对象.方法   来调用方法
        student.study();
}
2.对象的创建流程

​ 例: Student student = new Student();

  1. 通过new Student(); 在堆内存中初始化空间
  2. 通过构造方法给成员变量初始化赋值
  3. 把初始化之后的值赋给对象(对象是存放在栈内存中的,引用数据类型都存在栈内存中)

创建对象时的内存图

在这里插入图片描述

访问类的属性
  • 参数传递,使用形参进行参数传递 (使用对象充当形参或者基本,引用类型参数)

  • ​ 使用对象进行访问

对象调用属性或者方法之前判断不为空

if (maintain == null){
                return;
            }
        maintain.mend(color,brand);
        return;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值