求助关于静态属性和方法的问题 有很多类,它们有一样的静态属性和一样的静态方法。每个类属性值各不相同,静态方法一模一样。请问这种该怎么设计合适? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 创建一个Parent类,里面定义需要的静态属性和方法,其他类继承此Parent类,在各继承类中定义与Parent类具有相同名字的静态变量以覆盖父类静态属性。 定义个类 有属性 get set方法,和普通方法(如果方法需要用到属性)获取这个类可以用new,也可以spring DI ,或者工厂模式创建 and so on.. 或许我设计的真不太妥当,呵呵。先就这个问题再问一下,如下的代码,我继承不来静态属性……class base{ protected static String p; public static String getP(){ return p; } public static void setP(String a){ p=a; }}class sub extends base{ private static String p;}class test{ public static void main(String[] a){ base.setP("123"); sub.setP("abc"); System.out.println(base.getP()); System.out.println(sub.getP()); }}求一个成功的例子 个人觉得静态属性不能用继承的思想来理解,静态属性存放在静态数据区,整个类共享。操作的都是一个区域,所以不论你是用父类调用setP()还是用子类调用setP(),p的值始终以最后一次更改为准。 静态属性和方法就静能否继承?class base{ protected static String p="123"; public static String getP(){ return p; } public static void setP(String a){ p=a; } public static String test(){ return p+"test"; }}class sub extends base{ private static String p="abc"; //public static String getP(){return p;}}class test{ public static void main(String[] a){ //base.setP("123"); //sub.setP("abc"); System.out.println(base.getP()); System.out.println(sub.getP()); }}也没有效果,除非在子类中也定义get方法,同样,如果要用set,那么子类中也要定义set方法;而调用test方法也是如此。如果这样还有意义么?难道静态属性和方法无法继承?求解释,求成功的例子 静态方法 和属性值都是唯一的 你的例子我运行了 父类赋值后子类只能继承不能重新赋值 建议再好好看看static 语法使用 关于静态属性和方法的继承,请大家转到http://topic.csdn.net/u/20111102/09/7d750379-8ce9-4dfb-9af3-2e3988cf5719.html讨论,谁解释的好分给谁 我觉得用 抽象类abstruct class A(){ public static String arrt ; public A(String str){ arrt = str ; } public static void method(){ ...... } abstract void method1(); abstract void method2(); }public class A1 extends A{ public A1(String str){ super(str) ; } public void method1(){ ...... } public void method2(){ ...... } } java 接口不是方法都要实现么, 为什么这个只实现了一个方法 面试遇到一个简单的问题,高手指点一下! JAVA传值问题。。(JSCP小题) 如何判断ObjectOutputStream已经结束? 对象公用问题,求教 关于图像处理问题 这个java正则表达式怎么写 文字不对齐的问题 请教一个关于SWING控件刷新的问题 如何显示 Class Loading process in status bar. 抽象和接口的面试问题 字符串 <blue>blue</blue>
获取这个类可以用new,也可以spring DI ,或者工厂模式创建 and so on..
先就这个问题再问一下,如下的代码,我继承不来静态属性……class base{
protected static String p;
public static String getP(){
return p;
}
public static void setP(String a){
p=a;
}
}
class sub extends base{
private static String p;
}class test{
public static void main(String[] a){
base.setP("123");
sub.setP("abc");
System.out.println(base.getP());
System.out.println(sub.getP());
}
}求一个成功的例子
protected static String p="123";
public static String getP(){
return p;
}
public static void setP(String a){
p=a;
}
public static String test(){
return p+"test";
}
}
class sub extends base{
private static String p="abc";
//public static String getP(){return p;}
}class test{
public static void main(String[] a){
//base.setP("123");
//sub.setP("abc");
System.out.println(base.getP());
System.out.println(sub.getP());
}
}也没有效果,除非在子类中也定义get方法,同样,如果要用set,那么子类中也要定义set方法;而调用test方法也是如此。如果这样还有意义么?难道静态属性和方法无法继承?求解释,求成功的例子
http://topic.csdn.net/u/20111102/09/7d750379-8ce9-4dfb-9af3-2e3988cf5719.html
讨论,谁解释的好分给谁
public static String arrt ;
public A(String str){
arrt = str ;
}
public static void method(){
......
}
abstract void method1(); abstract void method2();
}
public class A1 extends A{
public A1(String str){
super(str) ;
}
public void method1(){
......
} public void method2(){
......
} }