使用权限
Java中权限主要分4种
1.private:私有的,同一个类中可以使用.
2.default:默认权限,当不设置任何权限时,JVM会默认提供这个权限(同包下可使用)
3.protected:受保护的,子类可以使用.
4.public:公共的,可以任意使用
内部类
1,Java不允许外部内访问使用private和protected修饰的属性,方法,类.
2,外部类就是源码中声明的类.
3.内部类就是类中声明的类.
4,内部类可以当做外部类的属性使用.所以也是需要构建外部类对象才可以使用
public class Test{
public static void main(String[] args) {
TestOut out = new TestOut(); //构建外部对象
TestOut.TestInner inner=out.new TestInner(); //外部类对象点的方式使用内部对象
}
}
class TestOut{ // 外部内
class TestInner{ // 内部类
}
}
final
1.使用关键字final,可以在数据初始化后不被修改.
2.final可以修饰变量,属性,参数,一旦修饰后他们的值无法修改,final修饰的变量一般称为常量.
3.final可以修饰方法,修饰后的方法不能被子类重写(不可以修饰构造方法)
4.final可以修饰类,这个类就不能有子类.
抽象
1.抽象类:不完整的类,就是抽象类,因为不完整,所以无法直接构造对象.声明方式:abstract class 类名
2.抽象方法:只有声明,没有实现的方法,声明:abstract 返回值类型 方法名(参数)
3.如果一个类中含有抽象方法,那么这个类就是抽象类.
4,如果一个类是抽象类,他的方法不一定是抽象方法.
5.抽象类无法直接构建对象,但是他可以通过子类构建对象.
6.如果抽象类中有抽象方法,那么子类基础抽象类需要重写子类抽象方法,并且把方法补充完整.
7.abstract和final不能同时使用
public class Test{
public static void main(String[] args) {
TestChild t =new TestChild();
t.TestInner();
}
}
abstract class Test{ // 抽象类
public abstract void TestInner(); // 抽象类
}
class TestChild extends Test{ // 子类继承Test类
public void TestInner(){
System.out.println('子类重写父类的抽象方法');
}
}
接口
1,基本语法:interface 接口名称{规则属性,规则行为}.
2,接口使抽象的,规则属性为固定值,不能修改.
3.属性是静态的,行为是抽象的.
public class Test{
public static void main(String[] args) {
Person p=new Person();
}
}
interface GetUser{
}
interface UserNamer extends GetUser{
public void setName();
}
class Person implements UserNamer {
public void setName(){
System.out.println("lily");
}
}