面向对象01
什么是面向对象
- 
面向过程和面向对象 
*面向过程:步骤清晰简单
*面向对象:物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。
- 
面向对象适合处理的复杂的问题 
对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,任然需要面向过程的思路去处理
面向对象编程(oop)
- 
面向对象编程的本质是:以类的方式组织代码,以对象的组织(封装)数据 
- 
抽象 
- 
三大特征 
*封装
*继承
*多态
- 
从认识角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象 
- 
从代码运行角度考虑是先有类后有对象,类是对象的模板 
类与对象的关系
- 
类是一种抽象的数据类型,它是对某一类事物的整体描述/定义,但是并不能代表某一具体的事物 
- 
对象是抽象概念的具体实例 
创建和初始化对象
- 
使用new关键字创建对象 
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认初始化以及对类中构造器的调用。
//一个项目应该只存在一个main方法
public class Application {
    public static void main(String[] args) {
        //类是抽象的,需要实例化
        //类实例化后会返回一个自己的对象
        //student对象就是一个Student类的具体实例
        Student xiaoming = new Student();
        Student xiaohong = new Student();
        xiaoming.name="小明";
        xiaoming.age=3;
        System.out.println(xiaoming.name);
        System.out.println(xiaohong.age);
        xiaohong.name="小明";
        xiaohong.age=3;
        System.out.println(xiaohong.name);
        System.out.println(xiaohong.age);
    }
}
//学生类  类里面有属性和方法
public class Student {
//属性:字段
    String name;//默认是null
    int age;//默认是0
    //方法
    public void  study(){
   //this代表当前这个类
        System.out.println(this.name+"在学习");
    }
    //学程序好?对世界进行个更好的建模!
}
- 
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点: 
- 
必须和类的名字相同 
- 
必须没有返回类型,也不能写void 
 public class Application {
    public static void main(String[] args) {
        //new实例化了一个对象
        Person person = new Person();
        System.out.println(person.name);//jianqingshan
    }
    /*构造器:
    1.和类名相同
    2。没有返回值
    作用:
    1.new 本质在调用构造方法
    2.初始化对象的值
    注意点;
    1,定义有参构造之后,如果想用无参构造,显示的定义一个无参构造
    Alt+insert生成一个构造器
    this.是当前类后面等于对象值
    */
//java--->class
public class Person {
    //一个类即使什么都不写,他也会存在一个构造器
    //显示的定义构造器
    String name;
    //实例化初始值
    //无参构造
    //1.使用new关键字,必须要有构造器,本质是在调用构造器
    //2.构造器用来初始化值
    //快捷键alt+insert生成一个构造器
    public Person(){
        this.name="jianqingshan";
    }
    //有参构造:一旦定义了有参构造,无参构造就必须显示定义
    public Person(String name){
        this.name=name;
    }
}
简单小结类与对象
 /*
        类:抽象的,实例化出来
        1.类与对象
        类是一个模板:抽象,对象是一个具体的实例
        2.方法
        定义:调用
        3.对象的引用
        引用类型:基本类型(8)
        对象是通过引用来操作的:栈--->堆(地址)
        4.属性:字段Field 成员变量
            默认初始化:
                数字:0 0.0
                char:u0000
                boolean:false
                引用:null
        修饰符 属性类型 属性名=属性值!
        5.对象的创建和使用
        - 必须使用new关键字创建对象,必须使用构造器    Person 见青山 =new Person();
        - 对象的属性 jianqingshan.name
        - 对象的方法 jianqingshan.sleep()
        6.类
        静态的属性 属性
        动态的行为 方法
        封装 继承 多态
         */
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号