目录
一、类和对象
1.类和对象的理解
客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。
(1)类
类的理解:
1、类是对现实生活中一类具有共同属性和行为的事物的抽象。
2、类是对象的数据类型,类是具有相同属性和行为的一组对象的集合。
3、简单理解:类就是对现实事物的一种描述。
类的组成:
属性:指事物的特征,例如:手机事物(品牌,价格,尺寸)。
行为:指事物能执行的操作,例如:手机事物(打电话,发短信)。
(2)类和对象的关系
类:类是对现实生活中一类具有共同属性和行为的事物的抽象。
对象:是能够看得到摸的着的真实存在的实体。
简单理解:类是对事物的一种描述,对象则为具体存在的事物 。
2.类的定义
类的组成是由属性和行为两部分组成。
属性:在类中通过成员变量来体现(类中方法外的变量)。
行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)。
类的定义步骤:
1、定义类
2、编写类的成员变量
3、编写类的成员方法
public class 类名 {
// 成员变量
变量1的数据类型 变量1;
变量2的数据类型 变量2;
…
// 成员方法
方法1;
方法2;
}
示例代码如下:
/*
手机类:
类名:
手机(Phone)
成员变量:
品牌(brand)
价格(price)
成员方法:
打电话(call)
发短信(sendMessage)
*/
public class Phone {
//成员变量
String brand;
int price;
//成员方法
public void call() {
System.out.println("打电话");
}
public void sendMessage() {
System.out.println("发短信");
}
}
3.对象的使用
(1)创建对象的格式
类名 对象名 = new 类名();
(2)调用成员的格式
对象名.成员变量
对象名.成员方法();
示例代码如下:
/*
创建对象
格式:类名 对象名 = new 类名();
范例:Phone p = new Phone();
使用对象
1:使用成员变量
格式:对象名.变量名
范例:p.brand
2:使用成员方法
格式:对象名.方法名()
范例:p.call()
*/
public class PhoneDemo {
public static void main(String[] args) {
//创建对象
Phone p = new Phone();
//使用成员变量
System.out.println(p.brand);
System.out.println(p.price);
p.brand = "小米";
p.price = 2999;
System.out.println(p.brand);
System.out.println(p.price);
//使用成员方法
p.call();
p.sendMessage();
}
}
4.学生对象(练习)
需求:首先定义一个学生类,然后定义一个学生测试类,在学生测试类中通过对象完成成员变量和成员方法的使用。
分析:
成员变量:姓名,年龄…
成员方法:学习,做作业…
示例代码如下:
class Student {
//成员变量
String name;
int age;
//成员方法
public void study() {
System.out.println("好好学习,天天向上");
}
public void doHomework() {
System.out.println("键盘敲烂,月薪过万");
}
}
/*
学生测试类
*/
public class StudentDemo {
public static void main(String[] args) {
//创建对象
Student s = new Student();
//使用对象
System.out.println(s.name + "," + s.age);
s.name = "林青霞";
s.age = 30;
System.out.println(s.name + "," + s.age);
s.study();
s.doHomework();
}
}
二、对象内存图
1.单个对象内存图
成员变量使用过程如下 :
成员方法调用过程如下:
2.多个对象内存图
成员变量使用过程 如下:
成员方法调用过程如下:
总结:多个对象在堆内存中,都有不同的内存划分,成员变量存储在各自的内存区域中,成员方法多个对象共用的一份。
3.多个对象指向相同内存图
总结:当多个对象的引用指向同一个内存空间(变量所记录的地址值是一样的),只要有任何一个对象修改了内存中的数据,随后,无论使用哪一个对象进行数据获取,都是修改后的数据。
三、成员变量和局部变量
1.成员变量和局部变量的区别
(1)类中位置不同
成员变量(类中方法外)。
局部变量(方法内部或方法声明上)。
(2)内存中位置不同
成员变量(堆内存)。
局部变量(栈内存)。
(3)生命周期不同
成员变量(随着对象的存在而存在,随着对象的消失而消失)。
局部变量(随着方法的调用而存在,醉着方法的调用完毕而消失)。
(4)初始化值不同
成员变量(有默认初始化值)。
局部变量(没有默认初始化值,必须先定义,赋值才能使用)。
总结
以上就是今天分享的内容,本文主要介绍了Java方法,有需要改进的地方,欢迎各位小伙伴们留言交流,大家一起共同进步吖。