//虽然 属性a 不能被继承,
//但是可以通过构造公有方法来实现对属性 a 的调用
public void setA(String aa){//对属性a进行设置
a = aa;
}
//该方法可以被继承
public String getB(){//获取属性b的值
return b;
}
//该方法可以被继承
public void setB(String bb){//对属性b进行设置
b = bb;
}
}
//---------------------------我是分类符------------------------
//package a;
//B 类,这个类是 A 类的子类(继承类)
public class B extends A {
//B类是新建立的类,最好不要写在和A类同一个java文件下
//由于 B 类继承了A类 ,
//所以 A 类注明的公有方法可以不用写在 B 类中
//只需要声明并实例化 B 的对象就可以调用 A 类中的公有方法
//B 类 中也可以书写 A类中没有的方法以达到B类所需要达到的目的
//其他访问权限修饰符在这里先不做解释(protected等)
//属性c 是 A 类中没有的
String c = "我是B类中的c";
//该方法A类中没有,只能通过声明并实例化B类的对象才能调用
public String getC (){
return c;
}
//该方法A类中没有,只能通过声明并实例化B类的对象才能调用
public void setC(String cc){
c = cc;
}
//main方法
public static void main(String[] args) {
B b = new B();
//String a1 = b.a;//这个就是错误的,因为a是A类的私有变量,不能被继承
String b1 = b.b;//这个就可以
String b_a = b.getA();//也可以调用
String b_b = b.getB();//也可以调用
System.out.println("a 的值 = " + b_a);
System.out.println("b 的值 = " + b_b);
b.setA("修改a");//设置a 的值
System.out.println("修改过后的 a 的值 = " +
b.getA());
b.setB("修改b");//设置b 的值
System.out.println("修改过后的 b 的值 = " +
b.getB());
String b_c = b.c;//设置c 的值
System.out.println("B类中c的值"+b_c);
b.setC("修改c");
System.out.println("修改过后的 c = " + b.getC());
}
}
java 线程池是怎么复用线程的线程重用的核心是,它把Thread.start()给屏蔽起来了(一定不要重复调用),然后它自己有一个Runnable.run(),循环在跑 , 跑的过程中不断检查我们是否有新加入的子Runnable对象 , 有就调一下我们的run(),其实就一个大run()把其它小run()#1,run()#2,...给串联起来了,基本原理就这么简单 。
JDK代码节选
/**
* Main run loop
*/
public void run() {
try {
Runnable task = firstTask;
firstTask = null;
while (task != null || (task = getTask()) != null) {
runTask(task);//这里最终会调用task.run()
task = null;
}
} finally {
workerDone(this);
}
}
}
关于java业务代码复用和java代码复制的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 4k拍摄为什么会变糊,4k拍出来的视频
- jsif判断>=0,jsx判断
- android开发学习网站,android开发者网站
- word该如何装饰,word如何装饰页面
- python里div函数 python中divmod函数
- 公众号加导航怎么添加,公众号加导航怎么添加的
- html段落居中且左对齐代码,html怎么让段落居中且左对齐
- php插入上万数据 php大量数据处理
- 电视机顶盒老跳台怎么解决,电视机顶盒跳台是怎么回事