Java学习的细节性问题总结一

针对自己在Java学习中的遇到一些困惑做一个记录

1,截尾和舍入

高精度数转化为低精度数时直接截尾,在此情况下如果需要舍入的话需要使用java.lang.Math中的round()方法。具体使用方法为          int = Math.round(float)

2,static

static方法就是没有this的方法,在static方法内部不能调用非静态方法,但反过来是可以的,可能有人会想static方法不就一无是处了吗,其实他的优势是可以通过类本身来直接调用static方法,而不用创建对象,这样static就相当于全局方法了

定义static的方法或者变量后,该方法和变量就是这个类公有的方法和变量

无论创建多少对象,static数据只占用一份存储区域,static关键字不能作用于局部变量,

3,向上转型和向下转型

向上转型:子类只是父类的一个特殊情况,适用于子类的东西,对于父类来说也一定适用,是一个很安全的过程。向下转型:反过来适用父类的子类不一定适用,是一个不可靠的过程,有些是不能直接转的,在使用向下转型技术时,先要判断父类对象是否为子类的实例,通常用instanof操作符来判断,如果不是的话,必须显示的进行类型转换,将父类对象转换为子类对象,如果是的话就可以使用

使用方法为:   myboject instanof myclass;      返回值为布尔值

4,局部变量

当局部变量名和成员变量名冲突时,在局部变量的有效范围中,成员变量将被隐藏

5,== 和equals()

前者是判断两个对象的引用是否相同,后者判断实际内容是否相同,

6,break和continnue

前者退出整个循环,后者中断本次循环

7,this和super

前者引用是本类中的对象 后者是引用父类的对象

8,接口中的权限修饰

接口中的方法自动是public的,其中定义的任何字段自动是static和final的,

9,多态和向上转型

多态的实现是在向上转型的基础上实现的,可以把子类中相同的部分的代码写在父类中,将子类不同的方法写在不同的子类中,要实现不同子类的功能时,可以直接用父类方法调用子类对象,由于向上转型,这一过程是合理的

10,接口和多继承

我们知道Java中是没有多继承的,但是使用接口就可以等效的使用多继承,因为一个类可以同时实现多个接口,但这会产生庞大的代码量,因为继承一个接口时必须同时实现接口中的所有方法

11,内部类

12,反射

你可能感兴趣的:(java,javaStudy)