Java基础(六)Java最重要的面向对象来了,快来看看吧!

本贴为持续更新贴!内容附带大量图文和练习,供大家学习时参考。本贴主要面向对象,是Java基础中最为重要的内容了,快来认真学习吧!
更多资料和内容尽在:
码牛云课堂Java霸牛老师(微信):mnykt8080;
​ 码牛云Java技术交流QQ群:1142264605;

1. 类和对象

1.1 面向对象概述

面向过程:当完成一个需求时,需要自己一步一步去操作实现。

面向对象:当完成一个需求时,找一个已经具有改功能的对象帮我们完成。

1.2 概述:

java是面向对象的程序设计语言,面向对象的程序设计过程中有两个重要的概念: 类和对象。

1.3 类和对象的理解

类:是对具有相同的属性(特点)和行为(功能)一类事物的描述,是抽象的。类似于设计图纸。

对象:是真实存在的个体,是类的一个示例。

类与对象的关系:

类是对象的模板,对象是类的具体示例。

可以根据类创建一个或者多个对象。

1.4 类的定义

类是由属性和行为两部分组成

属性:对应到java代码中就是成员变量(类中方法外的变量)

行为:对应到java代码中就是方法。

类的定义格式

public class 类名 {
	// 成员变量
	数据类型 变量1;
	数据类型 变量2;// 成员方法
	方法1;		
}

示例代码:

package com.mnyketang;
/*
    类是由属性和行为两部分组成
        属性:对应到java代码中就是成员变量(类中方法外的变量)
        行为:对应到java代码中就是方法。

    定义一个学生类来描述学生这一类事物
        属性:姓名、年龄
        行为:睡觉、学习

    对应到java代码中
        成员变量
            String name;
            int age;
        成员方法
            sleep()
            study(String name)
 */
public class Student {
    //成员变量
    String name;//姓名
    int age;//年龄

    //成员方法
    public void sleep(){
        System.out.println("我就是爱睡觉");
    }
    public void study(String name){
        System.out.println("我就是爱学习" + name);
    }
}

1.5 对象的创建

通常情况下我们是通过该类的对象来使用一个类的。所以需要创建类的对象。

创建对象格式:

类名 对象名 = new 类名();

有了对象就可以使用类了,类里边有成员属性和成员方法,也就是可以通过对象访问类的成员属性和方法。

格式:

对象名.成员变量

对象名.成员方法();

示例代码

package com.mnyketang;
/*
    通常情况下我们是通过该类的对象来使用一个类的。所以需要创建类的对象。
    创建对象格式:
        类名 对象名 = new 类名();
    有了对象就可以使用类了,类里边有成员属性和成员方法,也就是可以通过对象访问类的成员属性和方法。
        对象名.成员变量
        对象名.成员方法();
 */
public class Demo01 {
    public static void main(String[] args) {
        //创建一个学生对象为stu1
        Student stu1 = new Student();
        //访问成员变量  对象名.成员变量
        stu1.name = "java小王子";//给成员属性name赋值
        stu1.age = 18;//给成员属性age赋值
        System.out.println(stu1.name);
        System.out.println(stu1.age);
        
        //调用成员方法  对象名.成员方法();
        stu1.sleep();
        stu1.study("java");
    }
}

2.对象内存图解

2.1 一个对象内存图

在这里插入图片描述

2.2 多个对象内存图

在这里插入图片描述

总结:

只要new就会在堆内存中开辟新的空间,成员变量存放在各自堆内存中,成员方法存放在方法区,对象共享。

2.3 多个对象指向相同内存图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8yZUtbxO-1601020272968)(img/image-20200925002255783.png)]

总结

把一个对象引用赋值给另一个对象引用,此时两个对象指向相同的内存空间,其中一个修改成员变量的值,另一个对象访问时就是修改后的值。

3. 成员变量和局部变量

区别

定义位置不同:成员变量(类中方法外)局部变量(方法内部或方法声明上)

内存中位置不同:成员变量(堆内存)局部变量(栈内存)

生命周期不同:

成员变量(随着对象的存在而存在,随着对象的消失而消失)

局部变量(随着方法的调用而存在,醉着方法的调用完毕而消失)

初始化值不同:成员变量(有默认初始化值)局部变量(没有默认初始化值,必须先定义,赋值才能使用)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值