类与对象、封装、构造方法

一、面向对象思想

概述:

对象泛指现实总一切事务,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现
eg:洗衣服

  • 面向过程:把衣服脱下来–>找个盆–>放点洗衣粉–>加点水–>洗、揉、搓–>晾起来
  • 面向对象:把衣服脱下来–>打开全自动洗衣机–>扔衣服–>按钮–>晾起来
    面向过程更强调步骤,而面向对象强调的是对

二、类和对象

对象:

是一类事物中的具体体现,对象是类的一个实例,必然具备该类事物的属性和行为

类与对象的关系:
  • 类是对一类事物的描述,是抽象的
  • 对象是一类事物的实例,是具体的
  • 类是对象的模板,对象是类的实体

三、类的定义

public class classname
{
  //成员变量、成员方法
}

四、对象的使用

类名 对象名=new 类名();//创建对象
对象名.成员变量;
对象名.成员方法();//使用对象访问类中的成员

五、对象内存图

一个对象调用一个方法内存图:

在这里插入图片描述
“先进后出,后进先出”原则

两个对象调用一个方法内存图:

在这里插入图片描述
对象调用方法时,根据对象中方法标记(地址值),去类中寻找方法信息。

一个引用作为参数传递到方法中内存图:

在这里插入图片描述
引用类型作为参数,传递的时地址值

六、成员变量与局部变量的区别

在类中的位置不同
  • 成员变量:类中方法外
  • 局部变量:方法中或者方法声明上(形式参数)
错用范围不一样
  • 成员变量:类中
  • 局部变量:方法中
初始化值的不同
  • 成员变量:有默认值
  • 局部变量:没有默认值,必须先定义、赋值、最后使用
    方法的参数是局部变量,参数在方法调用的时候,不然会被赋值

七、封装

原则:

将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问

步骤:
  1. 使用private关键字来修饰成员变量
  2. 对需要访问的成员变量,提供对用的一对getxxx方法、setxxx方法。
    boolenn值getter的写法要写成is xxx,setxxx的规则不变
private的含义:
  1. private是一个权限修饰符,代表最小权限
  2. 可以修饰成员变量和成员方法
  3. 被private修饰后的成员变量和成员方法,只在本类中才能访问
private的使用格式:

eg:

public class student
{
  private String name;
  private int age;
  public void setName(String n)
  {
    name=n;
  }
  public String getName()
  {
    return name;
  }
  public void setAge(int a)
  {
    age=a;
  }
  public void getAge()
  {
    return age;
  }
}
this 关键字:
this.成员变量名;//this代表所在类当前对象的引用(地址值),即对象自己的引用。
构造方法:
修饰符 构造方法名(参数列表)
{
  //方法体
}

构造方法的名字必须和所在类型完全一致,不要写返回值,void也不要写,不能return一个具体的返回值

  • 注意事项:
    1. 如果不提供构造方法,系统会给出无参数构造方法
    2. 若提供了构造方法,系统将不再提供无参数构造方法
    3. 构造方法是可以重载的,即可以定义参数,也可以不定义参数
Javabean:

JavaBean是Java语言编写类的一种准则规范。符合JavaBean的类,要求类必须是具体的和公共的,并且具有无参数的构造方法,提高用来操作成员变量的set和get方法。

  • 快捷键:Alt + Insert
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值