Java基础入门学习菜鸟入门第八天——Java面向对象(一)

JAVA基础知识——类和对象

3.5什么是面向对象?

3.5.1语言的分类
  • 第一代:机器语言
  • 第二代:汇编语言
  • 第三代:高级语言
    • 对于高级语言而言,根据面向的内容、方式的不同可以分类为:面向对象、面向过程
    • 根据程序的编译和解析的不同:编译型语言解释型语言

对于编译型语言和解释型语言,我在第一篇博客就详细解释了

3.5.2什么是面向过程?

面向过程:

  • 人开车 人具体如何会开车需要我们很清楚
  • 车如何被开 也需要了解底层的原理
  • 车被人开的整个过程都需要很清楚。对于复杂的业务而言,这些是极其不利的。

归纳:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。简而言之,面向过程需要按部就班完成整个功能的每一步 ,顺序也不能错, 能够更好的在微观上了解整个事物的细节

3.5.3什么是面向对象?

面向对象:

  • 人开车 人是对象 车是对象 人具备能力可以开车
  • 车具备能力 可以被开 然后发动了
  • 在整个过程中 我们无需了解人是如何开车的
  • 车是如何被开的
  • 只需要关注人会做这件事 车能做这件事,其他不管

归纳:面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。简而言之, 不需要关注内部的实现细节,只需要注重有具体的对象且对象具备这些能力, 能够更好的在宏观上把控事物的走向

3.6类和对象

3.6.1什么是类?

在现实生活中,我们通常喜欢把动物具有相同形态、结构、行为等特征归为一类,例如:狗类,鸟类、鱼类等

在Java中,类就是对现实生活中的类的描述,描述生活中类其实就是描述这一类事物的属性和行为

3.6.2什么是对象?

在现实生活中,万物皆对象,比如:女朋友、电脑、手机、键盘、鼠标

在Java中,对象就是一个具象的事物,简而言之,就是可以具体到一种事物,可以看到。比如:电脑、手机、女朋友

3.6.3类和对象的关系
  • 在现实生活中,类中存在了很多的对象,一个类相当于是具有相同特征或者是行为的多个对象的集合,而对象相当于是这个集合中的一个具象的内容。
  • 在Java语言中类和对象的关系:
    • 类:class修饰的一个类可以产生很多个对象
    • 对象:基于类的一个实例化的表现形式。

归纳:类的产生是依赖于对象的,类是将对象中相同特征或者是行为抽取出来归为一类;对象的产生是依赖于类的,如果没有类是无法产生该类的对象的(该类的实例),类是对于对象的抽像(抽取像的部分),对象是类的具象化的表现形式。

3.6.4如何编写类以及对象?
i.如何编写类?

在Java中,类就是对现实生活中的类的描述,描述生活中类其实就是描述这一类事物的属性和行为,根据类的定义,我们可以定义一个人类,人类就具备了一定的外在的表现形式(属性)和内在的功能(行为):

  • 外在的表现形式(属性):姓名、性别、身高、体重、籍贯等;通过成员变量来实现
  • 内在的功能(行为):吃饭、睡觉、打豆豆、买烟等;通过方法来实现的

注意:刚开始接触面向对象,成员变量和方法都是非static静态修饰的,后面的内容会单独讲解static静态用法

public class Person{
	/*外在的表现形式字段属性*/
	String name="张三";
	char gender='男';
	int age=18;
	/*内在的功能方法*/
	public void eat(){
        System.out.println("吃饭了");
	}
	public void sleep(){
        System.out.println("睡觉了");
	}
}
ii.如何编写对象?
  • 在Java中通过new关键词来产生当前类的一个具体的实例、对象
public class PersonTest{
	public static void main(String[] args){
	//1:创建一个Person对象
	Person zs=new Person();
	zs.eat();
	System.out.println(zs.name);
    }
}

注意事项:

  • 类是一个引用类型,我们定义的所有的类都是一个自定义的数据类型,这些数据类型都是引用类型。
  • 凡是引用类型在创建对象时必须通过使用关键词来创建。
  • 创建方式:
    创建对象PNG.PNG
  • 使用对象属性:对象名.成员变量
  • 使用对象方法:对象名.方法名
  • 同一个类的每一个对象有不同的成员变量的存储空间
  • 同一个类的每个对象共享该类的方法
iii.对象和类的内存分析

案例分析如下:

public class Dog{
	/*成员变量对象中抽取出来外部的表现形式(属性)*/
	String color;
	int age;
	String nickName;
	/*成员方法对象中抽取出来内部的功能(行为)*/
	public void eat(){
		System.out.println("小狗在吃饭");
	}
	public void shout(){
		System.out.println("小狗在叫");
	}
}
public class DogTest{
	public static void main(String[] args){
	//创建一个Dog对象
	Dog d=new Dog();
	//调用对象的功能
	d.eat();//对象.可以翻译为的,就是d对象的eat方法
	int age=d.age;
	System.out.println(age);
	}
}

对象和类的分析图.PNG

public claas Demo01{
    //成员变量
    String name;
    int age;
    //成员方法
    public void point(String place){
        System.out.println("我在"+place+"睡觉");
    }
}
public class DemoTest01{
    public static void main(String[] args){
        //创建一个a对象
        Demo01 a=new Demo01();
        //调用对象的属性并重新赋值
        a.name="张山";
        a.age=14;
        //调动对象的方法并传入值
        a.point("沙发");
         //创建一个b对象
        Demo01 b=new Demo01();
        //调用对象的属性并重新赋值
        b.name="李四";
        b.age=15;
        //调动对象的方法并传入值
        b.point("床上");
        System.out.println(a.name);//结果:张山
        System.out.println(a.age);//结果:14
        System.out.println(b.name);//结果:李四
        System.out.println(b.age);//结果:15
    }
}

小小总结:创建类和对象

  • 必须使用new关键词来创建对象
  • 使用对象属性:对象名.成员变量
  • 使用对象方法:对象名.方法名
  • 同一个类的每一个对象有不同的成员变量的存储空间
  • 同一个类的每个对象共享该类的方法

new关键词的作用:

  • 开空间(堆内存中开辟空间)
  • 赋初值(给当前类中的所有成员变量赋值赋初始值)【初始值!=默认值】
  • 指向引用(将堆内存中的对象地址赋值给局部变量)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QZP51ZX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值