【JAVA】权限辨析

1.【权限修饰符】
这里写图片描述
//private修饰下,本类中可以随意访问,超出本类范围不可以直接访问


2.【this and super】
//this指代的是当前类的对象
//super指代的是父类的对象

super关键字三种用法:
1)在子类的【成员方法】中访问父类的【成员变量】;
2)在子类的【成员方法】中访问父类的【成员方法】;
3)在子类的【构造方法】中访问父类的【构造方法】;

this关键字的三种用法:
1)在本类的【成员方法】中访问本类的【成员变量】;
2)在本类的【成员方法】中访问本类的【另一个成员方法】;
3)在本类的【构造方法】中访问本类的【另一个构造方法】;

继承关系下,父子类的访问特点:
1)子类构造方法中有一个默认隐含的super();
故一定先执行父类构造方法,再执行子类构造方法。
2)子类构造可以通过super关键字来调用父类重载构造
3)super的父类构造调用,必须是子类构造方法的第一个语句,
不能一个子类构造调用多次super构造;
4)总结:子类必须调用父类构造,不写默认送一个super();
一个构造方法只能有一个super,且必须为第一个
//构造方法不能继承,子类应参照父类进行生成相应构造方法
//一个无参,一个全参(自己的成员变量,super父类的成员变量)

注意事项:
1)this(…)也必须是构造方法的第一个,且是唯一一个
2)this和super两种调用方法不能同时使用。

关于静态:1)静态不能直接访问非静态;
2)静态方法中不能使用this关键字;
//静态方法只能调用静态变量
//非静态方法可以调用静态变量和非静态变量

//类方法:静态方法
//实例方法:对象的方法

3.【final】
这里写图片描述


4.关于内部类

1)【成员内部类】【$】

           修饰符 class 外部类名称{     //外部类
                修饰符 class 内部类名称{ //(成员)内部类
                     //..
                }
                //..
           }

      “内”用“外”随意访问;
      “外”用“内”:(必须借助内部类对象)
      【间接方式】:(常用)
           在外部类的方法中使用成员内部类,
           然后main只调用外部类方法
      【直接方式】:(外.内)
           外部类名称.内部类名称  对象名 = new  外部类名称( ).new 内部类名称( );
               
           //内部类静态:
           Person.Heart1 heart1 = new Person.Heart1(); //内部类不需要建立对象
           heart1.method1();
          
           //内部类和其成员方法均静态:
           Person.Heart2.method2();    
          
           //内部类重名变量访问:
           外部类名称.this.外部类成员变量; //访问外部类成员变量
           
 2)【局部内部类(含匿名内部类)】
           //定义在一个方法内部

           修饰符 class 外部类名称{  //外部类
                修饰符 返回值类型 外部类方法名(参数列表){ //外部方法
                     class 局部内部类名称{ //局部内部类
                          //..
                     }
                     //创建局部内部类的对象
                     //使用局部内部类的方法
                }
           }

      访问权限(定义):
           外部类:public / (default)
           成员内部类:public / protected / (default) / private
           局部内部类:什么都不能写(!= default)
      局部内部类的final问题:
           局部内部类若希望访问所在方法的局部变量,那这个局部变量必须是【有效final的】。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值