Java基础--面向对象、类与对象、内存分配

本文详细讲解了面向对象编程的优势、特性,通过大象装冰箱的实例,对比面向过程。深入探讨类与对象的概念,包括成员变量与方法,以及如何创建和使用对象。同时介绍了Java内存分配,重点在于栈、堆、方法区和本地方法栈的区别。
摘要由CSDN通过智能技术生成

1、面向对象

       1.1 面向对象的优点:

        1.更符合人们思维习惯

        2.复杂问题简单化

        3.由执行者变为指挥者    

   

       1.2 面向对象特征:封装、继承、多态

               

        面向对象和面向过程的经典例子:大象装冰箱

 //面向过程:   

public class Demo_面向过程装大象 {

    public static void open(){
        //...
        System.out.println("开冰箱门");
    }
    public static void hot(){
        //...
        System.out.println("制热。。。");
    }
    public static void in(){
        //...
        System.out.println("装大象");
    }

    public static void close(){
        //...
        System.out.println("关冰箱门");
    }

    public static void main(String[] args) {

        open();
        in();
        close();

    }

}

//面向对象:

class 冰箱类 {
    public static void open(){
        //...
        System.out.println("开冰箱门");
    }
    public static void close(){
        //...
        System.out.println("关冰箱门");
    }
    public static void hot(){
        //...
        System.out.println("制热。。。");
    }
}
class 大象类 {
    public static void in(){
        //...
        System.out.println("装大象");
    }
}

public class Demo_面向对象装大象 {

    public static void main(String[] args) {

        冰箱类.open();
        冰箱类.hot();
        大象类.in();
        冰箱类.close();
    }
}

2、类与对象

        2.1类包含成员变量、成员方法,类是java中最基本的一个单位,用以描述现实中的事物;

        成员变量:声明在类中方法外的变量;(相当于现实中 属性(名词))

        成员方法:声明在类中;(相当于现实中的 行为(动词))

        2.2对象就是一个类的实例,对象就是一个类的具体表现;

        创建对象用以使用类中的成员:   数据类型 对象名 = new 数据类型();

        格式说明:

                数据类型:只能是引用数据类型,且是类的数据类型,可以是官方定义的如:String,也可以是自定义的类如:Person。

                对象名:就是自定义的变量名,符合变量命名规范即可(第二个单词开始首字母都是大写)

                new:关键字,用以在堆上开辟一个空间;

                ()    :构造方法

        2.3使用类中的成员变量

                获取成员变量的值: 对象名.成员变量名

                成员变量赋值:对象名.成员变量名 = 数据;

        2.4使用类中的成员方法:

                对象名.成员方法名();

                注:若调用的方法有参数,就要在小括号中加入实际参数;

                        若调用的方法中无参数,则留空;

          只要在同一个java文件中 或同一个文件夹下不同的java文件中, 不同的类之间可直接访问;

3、java内存分配

        栈:方法执行的地方,局部变量

        堆:java中的对象都存在堆中(所有new出来的数据)

        方法区:方法、静态的变量、常量、字节码文件

        本地方法栈:存放的都是本地方法

        程序计数器:控制程序执行的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值