JAVA的面对对象初步讲解

以对象进行代码开发:opp 面向对象编程

模板/类别对应实例/对象/个体

一般编写的时候把生产环境和测试环境分开,就是在新建的项目里面新建一个src目录文件和一个test目录文件。

创建类别的方法

public class 类名{

//1.成员变量

语法:[访问权限修饰符][普通修饰符]  数据类型  变量名称 [= 数据];

//2.普通功能方法

四种方法都可以用

例如最简单的无参无返回值

public void study() {

System.out.println(可以是前面的成员变量+"正在学习。。。");

}

}

创建对象:

语法: 类名   对象名称  =  new 类名();

public class Student {
    public String id;
    public String name;
    public String grade;
    public String[] hobby;
    public void readbook() {
        System.out.println(name + "正在读书...");
    }
    public void dowork() {
        System.out.println(name + "正在写作业...");
    }
}
public class Studenttest {
    Student student1 = new Student();
    Student student2 = new Student();
    Student student3 = new Student();
    Student student4 = new Student();
    Student student5 = new Student();
    student5.name = "mengbiao";
}

我们首先要分清栈和堆的区别

成员变量在堆内存中,因为对象的存在,才在内存中存在;局部变量存在栈内存中。

成员变量作用于整个类中。局部变量作用于方法中或者语句中。

首先在栈内存中有一个Student student5 ;然后在堆内存中new Student(),默认初始化name为null;再将name设置显示初始化值为”mengbiao”,将num设置显示初始化值为;将new Student()产生的地址值赋给栈内存,再由栈指向堆中的地址。

Student student3 = new Student();

Student stu = student3;

stu.name="who";

此时要是显示名字为who

这是因为会先初始化stu,再将student3的地址给它,这样对stu的操作仍然是指向刚开始在堆里创造的空间。

成员变量和局部变量的区别:

作用范围:成员变量作用于整个类中。局部变量作用于方法中或者语句中。

在内存中的位置:成员变量在堆内存中,因为对象的存在,才在内存中存在;局部变量存在栈内存中。

封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。(在使用对象时,没有必要知道对象内容是如何完成对应功能的,我们只需要指挥对象去执行即可)。

封装的好处:将变化隔离(内部功能细节变化不影响使用);便于使用(不用了解内部的具体实现);提高重用性;提高安全性(只对外暴露一些简单的内容供使用)。

封装的原则:将不需要对外提供的内容都隐藏起来;把属性都隐藏起来,只提供公共方法对其访问。

函数本身就是java代码中的最简单的封装体。类也是封装体,类中方法不一定全部暴露出去,可通过权限修饰符进行隐藏。包也是封装体,如框架,拿来即用。

构造函数

构造函数特点:

  • 函数名与类名相同
  • 不用定义返回值类型
  • 不可以写return语句

作用:给对象进行初始化。

构造函数对象一建立就会调用与之对应的构造函数,可用于给对象进行初始化。当一个类中没有定义构造函数时,系统会默认给该类加入一个空参数的构造函数,当自己定义了构造函数后,默认的空构造函数就不存在了。

注意:默认构造函数的特点;多个构造函数是以重载的形式存在的。

在构造代码块中,对象一建立就立即运行,而且优先于构造函数执行。构造代码块中定义的是不同对象具有共性的初始化内容。

构造代码块和构造函数的区别:构造代码块是给所有对象进行统一初始化;而构造函数是给对应的对象初始化。

5、this关键字

this的应用:当定义类中方法时,该方法内部要用到调用该方法的对象时,这时用this表示这个对象。但凡本类功能内部使用到了本类对象,都用this表示。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值