当做重新认识java吧
操作符
一元加号(+)
- 一元加号与二元加号使用了相同的符号(+)
- 相比于一元减号(-)用于转变数据的符号,而一元加号只是为了与一元减号想对应
- 作用: 将较小类型的操作数提升为 int
初始化与清理
初始化的疑问
- 如何理解:
构造器是一种特殊类型的方法,因为他没有返回值。这与返回值为空(void)明显不同。对于空返回值,尽管方法本身不会自动返回什么,但仍可选择让它返回别的东西。
构造器
- 除构造器之外,编译器禁止在其他任何方法中调用构造器。
static
- 在static方法的内部不能调用非静态方法,反过来就可以。
- static方法不是完全不可能调用非静态方法:如果传递一个对象的引用到静态方法里(静态方法可以创建其自身的对象),然后通过这个引用,就可以调用非静态方法和访问非静态数据成员(但是通常要达到同样的效果,只需写一个非静态方法即可)。
如下:
- static方法不是完全不可能调用非静态方法:如果传递一个对象的引用到静态方法里(静态方法可以创建其自身的对象),然后通过这个引用,就可以调用非静态方法和访问非静态数据成员(但是通常要达到同样的效果,只需写一个非静态方法即可)。
//:StaticTestClass
public class StaticTestClass {
void nonStaticMethod() {
System.out.println("this is the nonstatic method");
}
static void staticMethod(StaticTestClass s) {
System.out.println("this is the static method");
s.nonStaticMethod();
}
public static void main(String[] args) {
StaticTestClass s = new StaticTestClass();
StaticTestClass.staticMethod(s);
}
}
/* Output:
this is the static method
this is the nonstatic method
*///:~
初始化
构造器初始化
- 在类的内部,变量定义的先后顺序决定了初始化的顺序。即使变量定义散布在方法定义之间,它们仍然会在任何方法(包括构造器)被调用之前得到初始化。
并发
- 实现并发最直接的方式是在操作系统级别使用进程。进程是运行在它自己的地址空间内的自包容的程序。
未完待续…