Java

世界万物皆对象。

面向对象四大特性:继承、封装、多态、抽象

Java中现有类,再有对象。创建对象(对象实例化)必须先创建类。

将对象的特征对应写成类的属性。

将对象的方法对应携程类的方法。

如何创建对象?
        首先要有对象模板:类。
        
        引用类型 引用 = new 引用类型();

类的方法调用
        首先要有对象创建(对象实例化)。
        通过:
           返回值类型 变量名 = 引用.方法名();

return关键字:方法有返回值类型,必须使用或者有目的的结束代码的执行操作

栈:
    栈中存放都是临时变量。

堆:堆中存放对象的完整信息。
        对象创建(实例化)
        对象属性赋值

方法区:
    方法区中存放方法、类的完整信息。

方法的重载:方法名相同,参数列表不同(数量不同,类型不同,顺序不同),实现的功能不同

语法:
       public 类名(参数列表){

       }

★★若成员变量为 N 个
        则构造方法的总数最多为 2^N 个。
        其中无参 1 个,有参 2^N - 1 个。

static修饰符:修饰的变量或方法是共享的

 this关键字:代表本类的 成员变量或方法

static修饰的方法,不可以使用this关键字

java继承如何实现?
        
        将所有子类中的共有属性、方法,封装在父类中。
        让子类继承父类之后,便可对父类中的公有属性、
        方法直接使用。从而提高了代码的复用性。
    
        将所有子类中的私有属性,写在子类中。
        达到子类私有特性、行为的效果。

继承关键字:extends

        public class 子类名 extends 父类名{

        }

        一旦子类 继承了 父类
        子类便可以直接使用父类的公有属性、方法。

    注意事项:
            this可以省略
            this不能存在static修饰方法中
            当构造方法的参数名与成员变量名一致时,
                必须使用this.成员变量与参数区分开。
            this()必须出现在构造方法的第一行。

super:表示父类的
        super关键字,使用在子类中。        

        a、super.成员变量
        调用父类的成员变量    
           只要存在父类中的公有成员变量,
        就可以使用super.出。

        b、super.方法名();
        调用父类的方法。
            只要存在父类中的公有方法,
        就可以使用super.出。

        注意:super.成员变量、super.方法名()
        完全可以使用this替换。
        在这两种使用情况下,this与super可以相互替换。

super();
        调用父类的构造方法

父类的引用指向子类对象。(向上造型


    向上造型
        父类 引用1 = new 子类1();
        父类 引用2 = new 子类2();

方法重写要求
        a、方法重写发生在子父类之间。
        b、方法名相同、参数列表相同。
        方法签名(方法名+参数列表)相同。
        c、访问权限不能变小。
        d、抛出异常不能变大。

访问权限关键字
        public:公共的
            所有类中都可以使用的。

        protected:受保护的
            同包类、子类、本类可以使用
        
        default:默认的(缺省的)
            同包类、本类可以使用

        private:私有的
            本类使用


              本类    同包类  子类(包外)     所有(其它)类
        public     √      √       √            √

        protected  √      √       √            ×

        default    √      √       ×            ×

        private    √      ×       ×            ×
   

       
        final的用法:
            a、final修饰成员变量
                声明时必须初始化
                不可以再次赋值

            b、final修饰的局部变量
                声明时可以无需初始化
                使用前必须初始化且不能再次赋值。

            所以final修饰的变量是常量。

            c、final修饰的方法
                不能被重写

            d、final修饰的类
                不能被继承

原文地址:https://www.cnblogs.com/chenxihui/p/5409406.html