对象
说到对象,大家肯定会听说过面向对象,那么也肯定听说过面向过程。
那么什么是面向对象什么是面向过程呢?
面向过程就是将问题过程化,一步一步完成。
而面向对象呢就是将问题对象化。
那么面向对象有什么好处呢:
1.更贴近人的思维
2.将复杂的问题简单化
3.从事物的执行者转变成事物的指挥者
说了一大堆大家可能还云里雾里,那么我举一个生活中的例子,希望大家能有所感悟。
比如我想组装一辆汽车,面向过程思想就是我首先得干什么,其次得干什么,然后得干什么,再然后得干什么,最后得干什么。而面向对象思想是我找一个汽车行家,帮我根据我的要求组装出一辆汽车。
那么对象是什么呢。
对象:就是对抽象事物的具体描述。
类
什么是类呢?
类:就是对抽象事物的描述。
创建类的格式
class Student {
// 成员变量
String name;
// 成员方法
// 无参方法
public void eat() {
System.out.println("恰饭");
}
// 有参方法
public void playGame(String gameName) {
System.out.println("打" + gameName + "游戏" );
}
}
然后到main函数中调用这个类
public static void main(String[] args) {
// 创建一个学生对象
Student stu1 = new Student();
stu1.playGame("lol");
stu1.playGame("哈哈");
// 为对象的成员变量赋值
stu1.name = "hape";
// 打印stu1的name
System.out.println(stu1.name);
}
控制台将会打印
打lol游戏
打哈哈游戏
hape
也就是说我们创建一个类,并写出成员变量和成员方法,然后用new关键字来实例化一个对象,然后对 对象进行操作。这就是面向对象编程。
然后对象和类在jvm中的操作大致如下图
我们在说说成员变量和局部变量的区别:
总的来说有五个方面
1.生命周期:
成员变量: 随着对象的创建而创建,对象的销毁而销毁
局部变量: 随着方法的执行而创建,方法的结束而销毁
2.初值
成员变量: 如果没有初值 系统会给默认值
局部变量: 没有初值不能使用
3.作用域
成员变量: 在整个类中有效
局部变量: 在方法中有效
4.创建位置
成员变量: 类中方法外
局部变量: 方法上或方法中
5.在内存中的表现
成员变量: 保存在堆内存中的
局部变量: 运行在栈内存中
小哥哥小姐姐点个赞再走吧:)