回 帖 发 新 帖 刷新版面

主题:[讨论]Java开发中该注意的一些东西

java的类型自动提升规则

1、所有byte,short,char型的值将被提升到int型;

2、如果一个操作数为long型,计算结果就是long型;

3、如果一个操作数是float型,计算结果就是float型;

4、如果一个操作数是double型,计算结果就是double型。

我们不能把任何方法体内的变量声明为静态,例如下面这样是不行的

 

fun{ static int i = 0; }
 



1、在静态的方法里只能直接调用同类中其他静态成员(包括变量和方法),而不能直接访问类中的非静态成员,这是因为,对于非静态成员,先要创建类的实例对象后才可使用,而静态成员在使用前是不需要实例化的;

2、静态方法不能以任何形式引用this或super关键字;

3、main()方法是静态的,因此jvm在执行main方法时,不创建main方法所在的类的实例对象,因此在main方法中,不能直接访问该类中的非静态成员。

 

1.final标记的类不能被继承;

2.其标记的方法不能被子类重写;

3.其标记的变量即变成常量,只能赋值一次,但这个常量也只能在这个类内部使用,不能在类的外部使用,且赋值只能在声明的时候显式赋值或在构造方法中赋值,构造方法里不含返回值的概念是不同于“void”的,对于"public void example()"这样的写法就不再是构造方法了,而变成了普通方法,很多人都会犯这种错,在定义构造方法时加了void,结果这个方法就不再自动调用了。

1.java只支持单继承,不允许单继承,但一个类可以被多个类继承;

2.可以有多重继承,即一个类可以继承某个类的的子类,如B继承了A,C又可以继承B,那么C也间接继承了A;

3.子类继承父类所有的成员变量和成员方法,但不继承父类的的构造方法,在子类的构造方法中,可以使用语句super调用父类的构造方法;

4.如果子类的构造方法中没有显式地调用父类构造方法,也没有使用this关键字调用重载的其他构造方法,则在产生子类的实例对象时,系统默认调用父类无参数的构造方法,如果父类没有无参数的构造方法,则编译出错。

在子类中可以根据需要对从父类中继承来的方法进行改造——方法的覆盖(也叫重写)。覆盖方法必须和被覆盖方法具有相同的方法名称、参数列表和返回值类型子类想调用父类的被覆盖的方法,可以用super.方法()的格式。

回复列表 (共1个回复)

沙发

感谢楼主
    学习了









[img]http://www.51qqqianming.cn/images/sigline100.gif[/img]

[color=000000][url=http://www.51qqqianming.cn/]qq个性签名[/url]
[url=http://www.51qqqianming.cn/]qq签名[/url][/color]

我来回复

您尚未登录,请登录后再回复。点此登录或注册