Java|封装、继承、多态

什么是多态、方法重写与重载

Java的继承与实现

Java的继承与组合

https://github.com/hollischuang/toBeTopJavaer/blob/master/basics/java-basic/inheritance-composition.md

构造函数与默认构造函数

构造函数,是一种特殊的方法。 主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。 特别的一个类可以有多个构造函数,可根据其参数个数的不同参数类型的不同来区分它们即构造函数的重载

构造函数跟一般的实例方法十分相似;但是与其它方法不同,构造器没有返回类型不会被继承,且可以有范围修饰符。构造器的函数名称必须和它所属的类的名称相同。 它承担着初始化对象数据成员的任务。

如果在编写一个可实例化的类时没有专门编写构造函数,多数编程语言会自动生成缺省构造器(默认构造函数)。默认构造函数一般会把成员变量的值初始化为默认值,如int -> 0,Integet -> null。

类变量、成员变量和局部变量

Java中共有三种变量,分别是类变量、成员变量和局部变量。他们分别存放在JVM的方法区、堆内存和栈内存中。

    /**
     * @author Hollis
     */
    public class Variables {
    
        /**
         * 类变量
         */
        private static int a;
    
        /**
         * 成员变量
         */
        private int b;
    
        /**
         * 局部变量
         * @param c
         */
        public void test(int c){
            int d;
        }
    }

上面定义的三个变量中,变量a就是类变量,变量b就是成员变量,而变量c和d是局部变量。

成员变量和方法作用域

public :表明该成员变量或者方法是对所有类或者对象都是可见的,所有类或者对象都可以直接访问
private:表明该成员变量或者方法是私有的,只有当前类对其具有访问权限,除此之外其他类或者对象都没有访问权限.子类也没有访问权限.
protected:表明成员变量或者方法对类自身,与同在一个包中的其他类可见,其他包下的类不可访问,除非是他的子类
default:表明该成员变量或者方法只有自己和其位于同一个包的内可见,其他包内的类不能访问,即便是它的子类

【参考文献】
多态(类实现、接口实现):https://www.cnblogs.com/chenssy/p/3372798.html
继承存在的问题(包含可以重写何种修饰的方法):《Effective Java》16
继承(包含构造函数说明):https://www.cnblogs.com/chenssy/p/3354884.html

你可能感兴趣的:(Java)