面向对象基础

面向对象编程(Object-Oriented Programming ,OOP)

以类的方式组织代码、以对象的方式封装数据

三大特性:封装、继承、多态

  • 关于static修饰符对方法的修饰

    static修饰的方法称之为静态方法,在程序加载时和类一起加载,所以可以在程序

    运行时可以直接用类名+方法名调用,例如Arrays工具类中的Arrays.toString();

    而没有被static修饰的方法则不会与类一起加载,它随类的实例化而加载,也就是

    在对象创建的时候加载,所以直接用类名+方法名调用非静态方法时会报错。

  • 构造器

    编译器会自动生成默认构造器,也可以自己编写构造器,构造方法无返回值、名字和类名相同,在定义有参数构造方法后,如果要使用无参构造,必须显式定义一个无参构造

  • Java内存区简析

  • IDEA简单方法自动化快捷方式

    “Alt + Insert”

选择Constructor后的界面:(其他快捷方法同下)

  • 继承

    继承关键字:extends 子类(派生类)是父类的扩展

    public class Student extends Person{...}//学生类继承人类
    

    注:1.java中只有单继承

    ​ 2.Java中所有的类都默认(间接)继承Object类

    ​ 3.super关键字

       public class Person{
           protected int a=0;
       }
       //*********************
       public class Student extends Person{
           private int a=1;
           public void test(int a){
               System.out.printIn(a);//指向形参
               System.out.printIn(this.a);//指向类中属性a
               System.out.printIn(super.a);//指向父类中属性a,super关键字,
           }
       }//super可以显式调用父类的构造方法,形如super();  super("String");....
    
  • static用法之一——静态导入包

    一般情况下,使用其他包内的方法时,需要导入其他的包,使用的时候用类名.方法调用,如:

    import java.lang.Math;
    ...
    System.out.printIn(Math.random());//生成一个随机数
    

    使用静态导包后可以直接用方法名调用方法

    import static java.lang.Math.random;
    ...   
    System.out.printIn(random());
    
  • 抽象类

    关键字:abstract

    public abstract class Person{//抽象类
        public abstract void test();// 抽象方法,无方法体
    }
    

抽象类不能被实例化

继承抽象类的子类必须实现/重写抽象类的抽象方法

抽象类中有构造方法

  • 接口

    定义关键字:interface

    实现关键字:implements

    public interface Person{
        void add();//接口中定义的方法都默认为public abstract
    }
    ...
    public class Student implements Person{
        void add(){};
    }
    

接口可以多继承,即一个类可以实现多个接口

接口中没有构造方法

posted @ 2021-02-14 02:47  姬如乀千泷  阅读(48)  评论(0)    收藏  举报