长春建站免费模板,网站建设电销职责,策划书word模板,长春seo关键词排名day11
1.初识面相对象
1.1 类和对象的理解 类 * 类是对象的数据类型#xff0c;类是具有相同属性和行为的一组对象的集合 * 简单理解#xff1a;类就是对现实事物的一种描述 类的组成 * 属性#xff1a;指事物的特征#xff0c;例如#xff1a;手机事物#xff08;品牌…day11
1.初识面相对象
1.1 类和对象的理解 类 * 类是对象的数据类型类是具有相同属性和行为的一组对象的集合 * 简单理解类就是对现实事物的一种描述 类的组成 * 属性指事物的特征例如手机事物品牌价格尺寸 * 行为指事物能执行的操作例如手机事物打电话发短信 类和对象的关系 * 类类是对现实生活中一类具有共同属性和行为的事物的抽象 * 对象是能够看得到摸的着的真实存在的实体 * 简单理解*类是对事物的一种描述对象则为具体存在的事物* 1.2 类的定义 类的组成是由属性和行为两部分组成 * 属性在类中通过成员变量来体现类中方法外的变量 * 行为在类中通过成员方法来体现和前面的方法相比去掉static关键字即可 类的定义步骤 ①定义类 ②编写类的成员变量 ③编写类的成员方法 public class 类名 { // 成员变量 变量1的数据类型 变量1 变量2的数据类型 变量2; … // 成员方法 方法1; 方法2; } 1.3 对象的使用 创建对象的格式 * 类名 对象名 new 类名(); 调用成员的格式 * 对象名.成员变量 * 对象名.成员方法(); 1.4 案例 需求创建人类的对象并操作对象 分析 人类 - Person 属性name、sex、age 方法eat、sleep 步骤 1.创建Person类属性、方法 2.创建Person类的对象 (先创建Person再在主方法中声明…) public class Test01 {
public static void main(String[] args) {//创建对象Person p new Person();//p--引用对象//设置属性p.name 巴得伟;p.sex 男;p.age 23;//获取属性System.out.println(p.name);System.out.println(p.sex);System.out.println(p.age);//调用成员方法//注意成员方法使用引用对象调用对象p.eat();p.sleep();//调用静态方法//注意静态方法使用类名调用Person.method();}
} 1.4 成员变量和局部变量的区别 类中位置不同成员变量类中方法外局部变量方法内部或方法声明上 内存中位置不同成员变量堆内存局部变量栈内存 生命周期不同成员变量随着对象的存在而存在随着对象的消失而消失局部变量随着方法的调用而存在醉着方法的调用完毕而消失 初始化值不同成员变量有默认初始化值局部变量没有默认初始化值必须先定义赋值才能使用 注 对象在堆上还是栈上不仅取决于其是基本数据类型还是引用数据类型还取决于其定义的位置如果一个基本数据类型是成员变量那么也存在堆上。 总结:方法内的是局部变量(栈里面),方法外的是成员变量(堆里面) 案例 public class Person {
/** 成员变量成员属性/成员变量注意属于对象的变量系统会赋默认值该类所有的成员方法都能使用该变量成员变量的默认值整数类型0类型0.0字符类型 布尔类型false引用类型null*/String name;char sex;int age;
//成员方法
public void eat(){//局部变量方法里的变量必须初始化后才能使用其作用域在方法内int i 100;System.out.println(吃饭饭 -- i);
}public void sleep(){System.out.println(睡觉觉);
}//静态方法
//注意静态方法不能使用成员变量
public static void method(){System.out.println(静态方法);
}内存图 简答题 1.面向对象和面向过程的区别 面向过程 面向过程性能比面向对象高。 因为类调用时需要实例化开销比较大比较消耗资 源所以当性能是最重要的考量因素的时候比如单片机、嵌入式开发、Linux/Unix 等一般采用 面向过程开发。但是面向过程没有面向对象易维护、易复用、易扩展。 面向对象 面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态性的特性所 以可以设计出低耦合的系统使系统更加灵活、更加易于维护。但是面向对象性能比面向过程 低。 总结 多个对象在堆内存中都有不同的内存划分成员变量存储在各自的内存区域中成员方法多个对象共用的一份 方法没有实例化对象才有实例化eg Person pnew Person();//这个就是实例化