类
1. 面向过程与面向对象
-
面向过程
- C语言是面向过程的,强调求解问题的具体步骤,通过函数逐步解决问题。
- 面向过程注重过程,在整个过程中涉及的行为,就是功能
- 如何把大象放入冰箱:1.把冰箱打开 2. 把大象放入 3. 冰箱关起来
-
面向对象
- Java是基于面向对象的,关注的是对象,一件事被拆分成不同的对象,靠对象之间的交互完成
- 面向对象注重的对象(也就是参与过程所涉及的主题),是通过逻辑将一个个功能实现连接起来
-
面向对象的程序设计
- 开发时:找对象,建对象,用对象,并维护对象之间的关系
2. 类和类的实例化
类
类就是一类对象的统称。对象就是这一类具体化的一个实例。类也相当于一个模板,一个类可以产生无数的对象
创建类
- 基本格式
类要在”文件“类之前创建。class <class_name>{ field;//成员属性 (变量) method;//成员方法 (方法) }
- 实例
class Person { public int age; //称为成员属性/成员变量/字段 public String name; public String sex; public String nation = "China"; //成员属性可以被初始化 public void eat() { //成员方法 System.out.println("吃饭"); } public void sleep() { System.out.println(name + "正在睡觉"); } }
- 注意事项
- 成员属性可以被初始化。初始化之后,实例化的对象依然可以更改。
- 成员属性若没有初始化,会被赋予默认值。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ysRWmpv0-1635930431393)(C:\Users\78701\AppData\Roaming\Typora\typora-user-images\image-20211031145707101.png)] - 定义成员方法的时候,可以直接调用成员属性。
类的实例化
- 定义
- 基本格式
// 实例化对象 <class_name> <对象名> = new <class_name>();
- 基本格式
- 实例
class Person { public int age; //称为成员属性/成员变量/字段 public String name; public String sex; public String nation = "China"; public void print() { System.out.println("吃饭"); } public void sleep() { System.out.println(name + "正在睡觉"); } public static void staticFunc() { System.out.println("static::func()"); } } public class DemoTest { public static void main(String[] args) { Person person1 = new Person(); //实例化对象(创建一个类) person1.name = "zhangsan"; //对成员属性进行赋值 person1.age = 23; person1.sex = "male"; person1.nation = "USA"; //更改被初始化过的属性 System.out.println(person1.nation); //简写:输入person1.nationg.sout person1.print(); //调用成员方法 person1.sleep(); Person person2 = new Person(); //创建多个Person类的实例 } }
- 注意事项
- 用new关键字创建一个对象的实例
- 用 . 来访问对象中的属性和方法
- "访问"即包含读,也包含写
- 同一个类可以创建多个实例
- 当对象的属性(尤其是String类型,默认值为null)没有被赋值,也没有初始化时,不要对其进行打印等操作。
class Person { public String name; public int age; } class Test { public static void main(String[] args) { Person person = new Person(); System.out.println(person.name.length()); // 获取字符串长度