目录
1、访问控制权限
之前的博文中提到了访问控制权限,本文系统的讲解下。Java中一共定义四种访问控制权限,由小到大的顺序是:private<defult<protected<public。这四种特点如下:
序号 | 范围 | private | default | protected | public |
1 | 同一包中的同一类 | √ | √ | √ | √ |
2 | 同一包中的不同类 | √ | √ | √ | |
3 | 不同包的子类 | √ | √ | ||
4 | 不同包的非子类 | √ |
除了public,其他的都属于封装,但是真正来讲,开发中会使用的封装只有:private、protected
【举例】:观察protected访问控制权限
- 定义demoa.A程序类
package com.example.myapplication.demoa;
public class A {
protected String info = "hello";
}
- 定义demob.B程序类,该类导入A,并进行继承;
package com.example.myapplication.demob;
import com.example.myapplication.demoa.A;
public class B extends A {
public void print(){
System.out.println(super.info);
}
}
以上可见,B是A的子类,直接访问了A中的protected属性。
- 测试程序
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import com.example.myapplication.demob.B;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
B b = new B();
b.print();
}
}
【举例】错误的代码:下面,不使用子类B,直接在测试类中操作A
实际开发中,基本都会遵循这样的原则:属性使用private定义,方法使用public定义。
2、Java命名规范
类名称每个单次的首字母必须大写,eg:TestDemo;
- 属性名称:第一个单次的字母小写,而后每个单次的首字母大写,eg:studentName;
- 方法名称:第一个单次的字母小写,而后每个单次的首字母大写,eg:setName;
- 包名称:所有的字母全部小写,eg:com.example.myapplication;
- 常量名称:所有的字母全部大写,eg:public static final String INFO="hello";