java基础学习中注意的地方
(总结自己在学习java过程中的一些问题)
字符串和数字的相加
在java中支持字符串和数字的相加
System.out.println(3 + "2");
System.out.println("2" +3);
含有包的java文件的编译和运行
java文件的编译在有没有包的情况下差别不大,在任意目录下都可以
java文件的解释运行在有包的情况下需要在该包的前一目录下,路径之间需要使用.来分割
匿名代码块和静态代码块
java中执行构造函数之前会先运行静态代码块和匿名代码块
(静态代码块仅仅在第一次创造对象的时候运行)
打印输出函数
在java中print函数是可以不执行换行的
字符和字符串问题
字符在java中本质上都是数字
所以字符和数字相加会变为数字
字符串和数字相加会是字符串
在python无论单引号还是双引号都是字符串
在python中不支持字符串和数字的相加
else if 问题
在java中else按照规范是在if 右大括号后书写的,不支持elif语法
但是在python中是可以执行elif语法的。
多态问题
在java的多线程中有implements Runnable 的生成线程的方式
因为implements Runnable的自定义类作为传递给Thread构造函数的参数调用的是自定义类生成的方法
因此回头复习了一下多态问题
package com.zy.handle;
class FatherClass{
public void run(){
System.out.println("i am parents");
}
}
class ChildClass extends FatherClass{
@Override
public void run(){
System.out.println("i am child");
}
}
public class InheritProblem{
public static void main(String[] args){
InheritProblem.test(new ChildClass());
FatherClass b = new ChildClass();
b.run();
}
public static void test(FatherClass a){
a.run();
}
}