产品需求文档
2023-03-14 17:51:29 20 举报
AI智能生成
撒旦
作者其他创作
大纲/内容
一、面向对象
1.1 面向对象的的思想
面向过程 C
- 着重于“过程”
- 优点“性能高”
- 缺点:耦合性高 不易于扩展 不易于维护
- 着重于“过程”
- 优点“性能高”
- 缺点:耦合性高 不易于扩展 不易于维护
面向对象 Java
- 着重于“对象”
- 优点:耦合性低 易于扩展 易于维护
- 缺点:性能低
- 着重于“对象”
- 优点:耦合性低 易于扩展 易于维护
- 缺点:性能低
我想有套房!!!
- 面向过程 : 造房子---装修 ------ 搬家 ----入住
- 面向对象: 造房子(开发商)-----买房(中介)-----装修(装修公司)----- 搬家(搬家公司)----入住(自己)
- 面向过程 : 造房子---装修 ------ 搬家 ----入住
- 面向对象: 造房子(开发商)-----买房(中介)-----装修(装修公司)----- 搬家(搬家公司)----入住(自己)
二、对象
2.1 什么是对象
具有明确的行为(方法)和特征(属性) 的变量实体。
2.2 对象有什么?
- 行为:指的是 方法 一般作为动词 代表对象能干什么
- 特征:指的是属性 一般作为名词 代表对象有什么
现实中的对象 多数来自于模板 程序中的对象也应该具有模板
- 特征:指的是属性 一般作为名词 代表对象有什么
现实中的对象 多数来自于模板 程序中的对象也应该具有模板
三、类
3.1 创建类
- 类的由来:类是由多个具有相同特征和行为的对象抽取出来的
- 如何定义一个类?
public class Student {//学生对象的模板
//属性 变量 成员变量
String name;
int age;
String sex;
int stuNumber;
//....
//行为 称之为方法 成员方法
public void study(){
System.out.println("学习");
}
public void sleep(){
System.out.println("睡觉");
}
//。。。。。
}
java代码演示
四、创建对象
- 语法: 类名 对象名 = new 类名();
- Student stu=new Student();
- Student stu=new Student();
public class Test {
public static void main(String[] args) {
// 类名 对象名 = new 类名();
//创建一个学生对象
Student stu=new Student();
// Student stu1=new Student();
//使用对象1.给对象赋值 2.调用对象的方法
//赋值
stu.name="cxk";
stu.age=20;
stu.stuNumber=912;
stu.sex="男";
//取值
System.out.println(stu.name);
System.out.println(stu.age);
System.out.println(stu.sex);
System.out.println(stu.stuNumber);
//调用对象方法
stu.study();
stu.sleep();
System.out.println("============================");
//还想创建新的学生对象
Student stu2 = new Student();
stu2.name="马冬梅";
stu2.age=20;
stu2.stuNumber=912;
stu2.sex="女";
//取值
System.out.println(stu2.name);
System.out.println(stu2.age);
System.out.println(stu2.sex);
System.out.println(stu2.stuNumber);
//调用对象方法
stu2.study();
stu2.sleep();
}
}
java代码演示
五、类和对象的关系
- 类:定义了对象 应具有特征和行为,类是对象模板
- 对象:拥有相同特征的实体 对象是类的实体 实例
面向对象就是从具体到抽象,再从抽象到具体的过程。
六、实例变量
6.1 实例变量与局部变量的区别
1、定义的位置不同
- 局部变量:定义方法中
- 实例变量:在类里面。方法的外面
2、作用域不同
- 局部变量:只能在定义的作用域中使用{ }
- 实例变量:可以在整个类中使用
3、默认值不同
- 局部变量:没有默认值
- 实例变量:有默认值 (整数型 0 浮点型 0.0 字符型 空格 boolean false 引用类型 null )
4、生命周期不同
- 局部变量:退出作用域立即被销毁
- 实例变量:对象创建的时候被创建 对象被销毁的时候销毁
重名问题
- 局部变量:在不用的作用域可以重名
- 实例变量:不能重名
七、实例方法
7.1 实例方法
- 实例方法是在对象创建的时候 产生 (不使用 static 修饰)
7.2 方法的重载
- 方法重载:在一个类中出现同名不同参的方法 称之为方法的重载
- 方法重载的要求:
- 1、同名不同参(数据类型 个数 顺序 不一致)
- 2、与返回值 访问修饰符 无关
- 调用重载的方法会根据传递的值不同参数不同 去执行不同的方法
- 重载的好处:灵活 方便 屏蔽使用差异
public void sleep(){
System.out.println("在睡觉");
}
public void sleep(String hh){
System.out.println("学生在"+hh+"着睡觉");
}
int sleep(String hh,int a){
System.out.println("学生在"+hh+"着睡觉");
return a;
}
java代码演示
八、构造方法
构造方法:
- 类中特殊的方法 ,用于创建类的对象
- 作用: 创建类的对象(实例化)
- 语法:public 构造方法名(){ }
- 构造方法必须与类名完全一致
特点:
- 1.如果一个类没有编写 构造方法 那么jvm会默认提供一个无参构造方法,一个类如果提供了构造方法,那么jvm不会在提供这个无参构造方法
- 2.构造方法可以重载
- 3、一个类无论提供多少个构造方法,一定要保留一个无参构造方法。
使用场景:
- 创建对象的时候 给对象赋值。
//构造方法
public Student(){
System.out.println("构造方法启动");
}
// 有参的构造方法
public Student(String ha){
System.out.println(ha);
}
java代码演示
0 条评论
下一页