Java入门到入狱——第四天

1、OOP介绍

  1. 什么是OOP

    //oop = 面向对象编程
    /*
    oop的核心就是对象和类
    ——对象是类的实例,类是对象的抽象
    	对象=》具体的事物:张老师、李同学、奔驰车、苹果
    	类=》抽象的模板:老师类、同学类、车类、水果类
    现实中:我们交互的是具体的对象,总结的是抽象的类,例如你的朋友甲、乙、丙,三个对象,但都属于朋友类
    计算机:计算机没有人那么智能,不懂具体的对象是什么样子,由我们告诉他类作为模板,计算机根据类去创建具体的对象
    */
    
  2. OOP的学习路线

    //三大主线
    /*
    1.类和类的成员
    	类就是模板
    	类的成员:属性、方法、构造器、(内部类、代码块)
    2.OOP的三大特征
    	封装、继承、多态
    3.关键字
    	public private protected this super static extends instanceof interface implments class abstract
    */
    

2、类和类的成员

  1. 如何设计一个类

    //类是对象的抽象,那在设计时,就要根据对象抽象其特性
    /*
    例如,人类,Person
    	姓名,年龄,身高,体重....
    	说话,眨眼,呼吸,学习,跑步...
    名词性质的特性称之为属性,动词性质的特性称之为行为(方法)
    */
    
  2. 类的定义

    public class Person{
        String name;
        int age;
    }
    
  3. 属性

    //模板中规定一类事物具有哪些名词性质的特性
    /*
    例如,人类的姓名、年龄;水果的重量、颜色;大楼的高度、形状等等
    */
    
  4. 方法

    //跟普通方法一致,但最好写与类相关的方法,无关方法可以在工具类中书写
    
  5. 构造器

    //java根据类去创建对象时,使用构造器为对象的属性赋初值,还可以在构造器中写一些统一的行为
    //构造器的格式
    public Person(){
        xxx;
    }
    /*
    1.构造器又称为构造方法,但构造器没有返回值,其实就是省略了类本身这个返回值,免得你写错
    2.构造器名跟类名必须一致
    3.java默认为类提供一个无参构造器,如果自定义构造器就不再提供
    */
    
  6. 定义一个对象

    Person p = new Person();
    

3、OOP的三大特征

  1. 封装

    //利用private关键字屏蔽属性,不允许再使用对象直接调用属性
    class Person{
        private String name;
        
        public String getName(){
            return this.name;
        }
        
        public void setName(String name){
            this.name = name;
        }
    }
    
  2. 继承

    //Student是Person的子类,继承Person的非私有成员,java是单继承
    class Student extends Person{
        
    }
    
  3. 多态

    //父类引用指向子类对象
    Person p = new Student();
    

    三大特征重在要去理解,就不总结了,去百度多看,代码多写
    

4、关键字

  1. this

    /*
    1.this表示当前类
    2.this调用构造器
    */
    
  2. super

    /*
    1.super表示父类类
    2.super调用父类构造器
    */
    
  3. static

    //静态资源,归属于类,随着类的加载而加载
    
  4. instanceof

    //判断一个对象是不是类的实例
    
  5. abstract

    //抽象类
    比类更高层次的抽象,不可以创建实例,内部可以含有抽象方法(没有方法体的方法),更加省略的模板
    //抽象方法
    只写方法的签名,不去写方法体
    
    抽象类的目的就是为了让子类去继承,然后去重写父类中的抽象方法
    
  6. interface

    //接口
    比抽象类更高层次的抽象,且屏蔽了单继承,内部方法默认就是抽象方法
    
    使用类去实现接口,然后重写接口中的抽象方法
    
  7. public、protected、private

    //使用权限修饰符表明其作用范围
    public 任何地方
    protected 同包或者不同包的子类
    private 类内
    不写 同包
    
上一篇:2022 Spring梳理 3 组件的作用域 @Lookup的使用以及与@Autoware的区分


下一篇:.NET中大型项目开发必备(5)--Web服务/WebApi的负载均衡