- 面向对象的三个特征:封装、继承、多态。多态是通过引用类型对象自动向父类转换体现出来的,主要表现为一个接口类型的变量在指向不同的接口类对象时表现不同的行为。
-
public interface Dao{ public void add(T t); } public class JdbcDao implements Dao{ public void add(T t){ System.out.println("add by jdbc"); } } public class HibernateDao implements Dao{ public void add(T t){ System.out.println("add by hibernate"); } } public class Test{ public static void main(String[] args){ Dao dao=null; dao=new JdbcDAO(); dao.add(instance); dao=new HibernateDao(); dao.add(instance); } }
- Java语言是一种变编译、半解释型语言,表现为:Java编译器先将Java源代码编译为字节码文件,在运行时Jvm根据不同的JRE解释为不同平台的机器语言。
- 基本数据类型的长度:short(2byte)、int(4byte)、long(8byte)、float(4byte)、double(8byte)、boolean(bit)。 char(字符型),在java中使用16bit的unicode编码集作为编码方式,因此字符型变量为两个byte,也可用'\uxxxx'来表示字符常量。
- 将大范围值转换为小范围值时,将截取大范围值的低字节作为小范围值。
- 计算机以补码形式保存所有整数,正数的补码与原码一致,负数的补码为反码+1,其中最高位是符号为,不进行转换。
- System.out.println("Hello"+'a'+7);//输出Helloa7
- System.out.println('a'+7+"Hello");//输出104Hello
- 左移<<低位补0;右移>>高位补符号位(负数补1,正数补0);无符号右移>>>高位补0.
- 移位运算符仅对byte、short、char、int、long等整数型数值有效,且byte、short、char在移位时总是先转换为int型,然后移位。其中如下代码,c和d相等,即b大于a的位数时,先将b取余再移位。
public static void main(String[] args) { int a=65; int b=33; int c=a>>b; int d=a>>(b%32); System.out.println(c+" "+d); }