学Java的第十七天---面向对象(一)--类和对象

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

在这里插入图片描述
▶弄个例子解释一下:人把大象装进冰箱里.
用面向过程完成:[强调怎么做]
①把冰箱门打开
②把大象抬起,塞进冰箱
③把冰箱门关上
用面向对象完成:[强调谁来做]
人{
打开(冰箱){
冰箱.开开();
}
抬起(大象){
大象.进入(冰箱);
}
关闭(冰箱){
冰箱.闭合();
}
}
冰箱{
开开();
闭合();
}
大象{
进入(冰箱){
}
}
上面只是定义完了类,最后我们找到小明,奥马牌冰箱和非洲象这些真实的对象调用上面这些类中的的功能完成操作则这个过程就算完成了.
在这里插入图片描述

类和对象的使用

在这里插入图片描述
设计类就是设计类的成员:
成员包括:属性(成员变量)和方法在这里插入图片描述

package lei;
public class PersonTest {
 public static void main(String[] args)
 {
 //创建Person类的对象
  Person p1 = new Person();
  //调用对象的结构属性方法
  //调用属性:对象.属性
  p1.name = "小明";
  p1.age = 20;
  //调用方法:对象.方法
  p1.eat();
  p1.talk("汉");
 }
}
class Person
{
 //属性
 String name;
 int age;
 boolean isMale;
 //方法
 public void eat()
 {
  System.out.println("人可以吃饭");
 }
 public void talk(String language)
 {
  System.out.println("人可以说"+language+"语");
 }
}

在这里插入图片描述▣如果创建一个类的多个对象,则每个对象都独立拥有一套类的属性.(非static的)
▣new 一个对象,在内存里才分配空间,如p2;
而如果像p3 Person p3=p1,这里是把p1变量保存的对象地址值赋给p3,导致p1和p3指向了堆空间中同一个对象实体.如果对p3属性值进行修改,则p1对应属性也会变化.

对象的内存解析

在这里插入图片描述
拿上面代码举例
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值