【java】学习路线-10
2022/3/10 1:44:54
本文主要是介绍【java】学习路线-10,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
/*
关于修饰符:
类:public default
public protected default private
same class √ √ √ √
same package √ √ √ ×
subclass √ √ × ×
dif package √ × × ×
#但是需要注意的是:如果想使用defualt修饰方法和变量的是时候,
不需要写default,不写就是默认default
*/
import com.remoo.test.Learn09_Test;
public class Learn09{
public static void main(String[] aa){
//Remoo.P_hello="111";
//System.out.println(P_hello);
//如果是private,则不能通过不同的类访问
//Remoo.hello="你好";
System.out.println(Remoo.hello);//可以输出
//证明default可以通过不同类访问
System.out.println(Test.hello);//可以输出
//证明default可以在同一个包内调用
//Test.Son_Protected_hello = "hello";
System.out.println(Test.Son_Protected_hello);//可以输出
//通过子类访问子类自身的protected属性
System.out.println(Test.Fat_Protected_hello);//可以输出
//通过子类访问父类的protected属性
//System.out.println(Remoo.Son_Protected_hello);//不能通过父类找子类
System.out.println(Remoo.Fat_Protected_hello);//可以输出
//访问父类中的protected属性
//测试就近原则-父类子类的优先性
System.out.println(Remoo.Same_Test);//fat
System.out.println(Test.Same_Test);//son
//访问另一个包
Learn09_Test.main(null);
//System.out.println(Learn09_Test.welcomeWord1);
//System.out.println(Learn09_Test.welcomeWord2);
//System.out.println(Learn09_Test.welcomeWord3);
//上面三个都不行。只有public的才可以通过不同的包访问
System.out.println(Test1.callDifPackageProtected());
System.out.println(Learn09_Test.welcomeWord4);//public可以访问
//但是protected可以在不同包中但是有继承关系的类中使用
//要在不同包中想要访问其protected的成员,必须要继承之后才能用
System.out.println(Test.callSuperClassProtected());
}
}
class Test1 extends Learn09_Test{
static String callDifPackageProtected(){//protected可以在不同包中的继承对象中访问
return welcomeWord3;
}
//default不可以在不同包中访问
//static String callDifPackageDefault(){
// return welcomeWord2;
//}
}
class Test extends Remoo{
protected static String Son_Protected_hello="子类中的protected";
static String Same_Test="son";
static String callSuperClassProtected(){//子类调用父类的protected
return Fat_Protected_hello;
}
}
class Remoo{//父类
private static String P_hello = "父类中的private";
static String hello = "父类中的default";
protected static String Fat_Protected_hello="父类中的protected";
static String Same_Test="fat";
}
这篇关于【java】学习路线-10的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器
- 2024-11-26Java云原生资料:新手入门教程与实战指南
- 2024-11-26JAVA云原生资料入门教程
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程