面向过程思想
- 
步骤清晰简单,第一步做什么,第二步做什么 
- 
面向过程适合处理一些较为简单的问题 
面向对象思想
- 
物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考,最后,才对某个分类下的细节进行面向过程的思索 
- 
面向对象适合处理负责的问题,适合处理需要多人协作的问题 
对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。
什么是面向对象
- 
面向对象编程(Object-Oriented Programming,OOP) 
- 
面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据 
- 
抽象 
- 
三大特性: - 
封装 
- 
继承 
- 
多态 
 
- 
- 
从认识论角度考虑是现有对象后有类,对象,是具体的事物。类,是抽象的,是对对象的抽象 
- 
从代码运行角度考虑是先有类后有对象。类是对象的模板 
方法回顾
方法的定义
- 
修饰符 
- 
返回类型 
- 
break和return的区别 
- 
方法名 
- 
参数列表 
- 
异常抛出 
package com.xd.base;
//Demo02 类
public class Demo02{
    //main 方法 用来启动程序
    public static void main(String[] args) {
    }
    //public 修饰符 公共的,所有人都可以访问
    //String 返回值类型
    //sayHello 名字
    public String sayHello(){
        return "hello";
    }
    //返回值为空时,return直接加“;”
    public void hello(){
        System.out.println("hello");
        return;
    }
}
方法的调用
- 
静态方法 public后加static 可以直接在其它类使用方法名调用 
- 
非静态方法 - 
Demo02: package com.xd.base;
 
 //Demo02 类
 public class Demo02{
 public static void main(String[] args) {
 Student.say();
 
 //实例化
 //对象类型 对象名字 = 对象值
 Student student = new Student();
 student.noSay();
 }
 }
- 
Student: package com.xd.base;
 
 public class Student {
 //静态方法
 public static void say(){
 System.out.println("student say!");
 }
 
 //非静态方法
 public void noSay(){
 System.out.println("student no say!");
 }
 }
 
- 
- 
形参和实参 
- 
值传递和引用传递 
- 
this关键字 
类和对象的关系
- 
类是一种抽象的数据类型,它是对某一类事物整体描述/定义,到那时并不能代表某一个具体的事物 - 
动物、植物、手机、电脑... 
- 
Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体事物应该具备的特点和行为 
 
- 
- 
对象是抽象概念的具体实例 - 
张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例 
- 
能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念 
 
- 
创建与初始化对象
- 
使用new关键字创建对象 - 
类: package com.xd.base;
 
 //学生类
 public class Student {
 //属性:字段
 String name = "xd";
 int age;
 
 //方法
 public void study(){
 System.out.println(this.name + " student learning");
 }
 }
- 
main: package com.xd.base;
 
 //一个项目应该只存有一个main方法
 public class Alltext {
 public static void main(String[] args) {
 //类:抽象的,实例化
 //类实例化后会返回一个自己的对象
 //student对象就是一个Student类的具体实例
 Student student = new Student();
 student.study();
 }
 }
 
- 
- 
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用 
- 
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点: - 
必须和类的名字相同 
- 
必须没有返回类型,也不能写void 
 
- 
- 
作用: - 
new本质在调用构造方法 
- 
初始化对象的值 
 
- 
- 
注意点: - 
定义有参构造之后,如果想要使用无参构造,显示的定义一个无参的构造 
 
- 
- 
构造器必须要掌握 - 
一个类就算什么也不写,也会存在一个方法 
- 
类: package com.xd.base;
 
 //学生类
 public class Student {
 String name;
 /**
 * 构造器作用:
 * 1. 实例化初始值
 * 2. 使用new关键字,必须要有构造器
 * 3. 如果定义了有参构造,则要定义一个无参构造
 */
 public Student(){
 this.name = "xd";
 }
 //有参构造:一旦定义了有参,无参就必须显示定义
 public Student(String name){
 this.name = name;
 }
 //使用alt + insert可以自动构造
 }
- 
package com.xd.base;
 
 //一个项目应该只存有一个main方法
 public class Alltext {
 public static void main(String[] args) {
 
 Student student = new Student("ssss");
 
 System.out.println(student.name);
 
 }
 }
 
- 
类与对象 小结
类与对象
- 
类是一个模板:抽象,对象是一个具体的实例 
- 
方法: 定义、调用 
- 
对象的引用 - 
引用类型:基本类型 
- 
对象是通过引用操控的:栈-->堆 
 
- 
- 
属性:字段Field 成员变量 默认初始化: - 
数字:0, 0.0 
- 
char:u0000 
- 
Boolean:false 
- 
引用:null 
 修饰符: - 
属性类型 属性名 = 属性值 
 
- 
- 
对象的创建和使用 - 
必须使用new,关键字创造对象,构造器,Person xd = new Person(); 
- 
对象的属性 xd.name 
- 
对象的方法 xd.sleep() 
 
- 
- 
类: - 
静态的属性 属性 
- 
动态的行为 方法 
 
- 
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号