0208-类和对象

  • 面向对象

对比面向过程与面向对象:
面向过程和面向对象都是编写应用程序的一种方法。

区别:

--------面向过程是一种以过程(方法)为最小颗粒度的编程语言。
      一个方法一旦声明完成,这个方法的功能就不能改变了(面向过程语言,一个方法一旦编写完成,功能就固定了。想要一个不同功能的方法就只能新编写一个)。

--------面向对象是一种以过程中使用的对象为最小颗粒度额编程语言。
       一个方法声明完成,会根据使用的对象不同,而改变这个方法的功能。


  • 类和对象

关系: 类和对象之间的关系,必须是从现实世界向软件世界转换的过程。

创建类:

类是一种特殊的数据类型。与int,String本质是一样的。类中有属性和方法。
属性:就是变量。
方法:就是与之前写的一样的方法。例:public void print(){int i};

创建对象:

类是一种特殊的数据类型。使用这个类型创建的变量也称为对象。
(所以,使用类创建一个对象时,需要使用new关键字进行实例化)

变量的使用规则:1 先声明,2 初始化,3 使用。

专有名词:

A a = new A();
a:我们叫引用;
new A(); new是实例化。实例化:在内存中创建实例空间的过程。 实例:就是我们内存中开辟的空间。

对象的内存结构:

在这里插入图片描述
属性:

-----一般都是指在类中声明的变量,成为成员变量,成员属性。针对成员属性,我们也叫实例属性。

成员属性:就是在类中声明的变量。

成员属性的作用域:是受访问修饰符影响的。属性一般使用 private 。

private 表示私有的。类内私有表示属性只在声明的这个类中可以使用

方法:

方法:成员方法,实例方法。在类中声明的方法。

成员方法的作用域:方法一般使用 public 。

public 表示公有的,任意位置都可以使用。


JavaBean 的规范:

一个类如果按 JavaBean 规范编写,应该具备如下三个要求:

  1. 默认构造方法。
  2. 私有属性。
  3. 公有 get/set 方法。

在这里插入图片描述


this 关键字:

this 是我们Java 代码中的一个关键字。

this 是在实例内部一个指向实例本身的引用。

我们使用 this 可以指定本类中的属性和方法。
在这里插入图片描述


类:

类是对现实世界中大量具有相同属性相同方法的对象的抽象。

抽象得到属性和方法,再使用 { } 封装起来。起个名字,用个 Class 关键字。

例:
在这里插入图片描述

/**
 * 这是一个学员类
 */
public class Stu {
    //有学号
    private int sid;
    //有姓名
    private String sname;
    //有睡觉的方法
    public void sleep(int hours){
        System.out.println(this.sname + "晚上休息了 "+hours+" 小时!");
    }

对象:

类是模板,对象是具体的事物。


  • 构造方法

构造方法也是一个方法。
在类中一个特殊的方法。

什么是构造方法:

一个与类名同名的,并没有返回类型描述的方法,叫构造方法。

public class Stu {
    //构造方法
    public Stu(){
        System.out.println("构造方法!");
    }

构造方法的分类:

构造方法有如下几种分类:

  1. 默认构造方法:一个没有参数的构造方法。
    隐式构造方法:当一个类没有编写构造方法时,系统会自动为这个类提供一个默认的构造方法。

  2. 参数化构造方法:有参数的构造方法。

Ps:每一个类都有一个自己的构造方法。

构造方法的作用:

构造方法是在对象被实例化时调用的方法。
在创建实例的过程中一定要调用构造方法来创建我们的对象。

构造方法不用我们来指定。系统会根据 new 关键字后面的类的格式来调用对应的构造方法。

Stu s1 = new Stu();//new关键字时一定要调用构造方法。
//系统会按Stu()来调用对应的构造方法。

构造方法的作用是在实例化时为类的属性进行初始化操作。

public class Stu {
    //有学号
    private int sid;
    //有姓名
    private String sname;

    //有参构造
    public Stu(int sid, String sname) {
        this.sid = sid;
        this.sname = sname;
    }

Stu s1 = new Stu(1,"冯楠");//new关键字时一定要调用构造方法。

  • 对象创建的过程
Student s = new Student();

一个对象创建的完整过程包含两个部分:类加载对象创建

对象创建过程的步骤:实例化—初始化—引用赋值。

  1. 实例化:内存中开辟实例(Student),并为每一个属性赋默认值。
  2. 初始化:调用相应的构造方法(Student()),来完成对属性的初始化。
  3. 引用赋值:将实例的引用赋值给引用)(s)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值