这是装饰模式的一个例子.
public class Computer {
public String Description(){
return "Computer";
}
}
public abstract class Decorator extends Computer{
public abstract String description();
}
public class Monitor extends Decorator{
Computer computer;
public Monitor(Computer c){
computer = c;
}
public String description() {
return computer.Description() + " and Monitor";
}
}
public class main {
public static void main(String args[]){
Computer c = new Computer();
Monitor m = new Monitor(c);
System.out.println(m.description());
}
}
Run Code Online (Sandbox Code Playgroud)
调用超类的超级方法是否相同?比如当监视器从计算机继承然后调用监视器类中的Description方法内的计算机类中的super.Description()?
if(true)
System.out.println("one");
System.out.println("two);
System.out.println("three);
Run Code Online (Sandbox Code Playgroud)
首先它似乎很奇怪,但它的工作原理.我的问题只是为了澄清:如果我不使用代码块之后会受到影响; 如果我在代码块内部使用代码块会受到影响 - 我是对的吗?或者有什么我不知道通过这个例子发生的事情?
只是问我是否有正确的理解
System.out.println();
Run Code Online (Sandbox Code Playgroud)
系统是包出来的类是println()是方法
如果这是错的,请告诉我正确答案是什么.
如果有人要求你制作关于某事的节目,你能用你知道的任何语言进行,而不需要参考吗?
你能记住所有的语言功能,因为有些功能在其他语言中是不可能的吗?例如,C++可以继承两个类,而在Java中你不能(你可以接口).如果它不是一个静态const ...你也可以在C++中初始化一个实例变量.
我问这个是因为在我可以用Visual Basic编程之前,但现在我正在研究Java,事情发生了变化 - 就像实例化对象的语法一样简单,我感到困惑.我需要看看Visual Basic引用才能做到这一点.
学习许多不同的编程语言是坏的吗?因为我觉得我浪费时间学习Visual Basic.
为什么哈希码stringObject是我提供的字符串?
String s = new String(); // here the hascode is 0.
Run Code Online (Sandbox Code Playgroud)
但是当我得到我创建的某个对象的哈希码时.
testClass o = new testClass(); // the hashcode is some random number.
Run Code Online (Sandbox Code Playgroud)
我的问题是两者有什么区别?我的理解是hashCode()来自Object班级,是所有阶级的母亲.