![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
龍彧
这个作者很懒,什么都没留下…
展开
-
java中main方法能不能被重载?
运行如下代码:class Test { public static void main(String[] args) { main(1); } static void main(int i) { System.out.println("重载的main方法!"); }}打印信息如下:重载的main方法!说明main方法能被完美重载,但是在JVM中有特殊能力的只有原创 2016-04-25 14:20:39 · 4836 阅读 · 0 评论 -
java中静态代码块、普通代码块、构造器的执行顺序
1. 静态代码块在类第一次加载时就会执行2. 普通代码块在没创建一个实例时执行3. 普通代码块在构造器的super()执行后就会执行(其中super()是构造器中默认的第一句,写与不写该super()都一样)看以下实例:public class Init { Init(int x) { System.out.println("一个参数构造器"); } In原创 2016-04-28 14:54:10 · 933 阅读 · 0 评论 -
java中static方法不能被重写但是能重定义
1. static方法不能被重写如下实例会出现编译错误:This instance method cannot override the static method from Animal示例1:class Animal { public static void walk() { System.out.println("Animal行走方法"); }}public class H原创 2016-04-28 16:22:08 · 8294 阅读 · 7 评论 -
Java中抽象类的构造器的作用
因为抽象类不可实例化,那么只能在子类实例化时调用该抽象类的构造器才有用看实例代码:abstract class Animal { Animal(){ System.out.println("抽象类Animal无参构造器"); //此处执行前会默认执行super() } Animal(int a){ System.out.println("抽象类Animal有参构造器");原创 2016-04-28 15:25:03 · 6789 阅读 · 1 评论 -
Java中实例变量和局部变量未初始化的情况
实例变量会有默认初始值(0,false,null,'\u0000'等),局部变量不会有默认初始值,public class test01 { private String s; private int [] year = new int[3]; public String getS() { return s; } public void setS(String s原创 2016-05-10 16:22:05 · 1949 阅读 · 0 评论 -
java基本类型中的类型转换
1. int型或者比int小的类型进行算术运算结果都是int型byte a = 1;byte b = 2;byte c = a + b;编译器会提示错误:Type mismatch: cannot convert from int to byte虽然1+2的结果3没有超出byte表示的范围,但是两个byte进行运算结果为int,不能直接将int型转换成byte,除非显式转型原创 2016-05-10 15:09:30 · 477 阅读 · 0 评论 -
java的无参构造器和super()
1. 如果在类中你提供了其他有参的构造器,则编译器不会提供默认的无参构造器。class Animal { Animal(String name) { } public static void main(String[] args){ Animal a = new Animal(); }}该段代码编译不会通过,报错信息如下:错误: 在类 Animal 中找不到 mai原创 2016-04-26 14:27:47 · 12836 阅读 · 0 评论 -
Java的返回类型的几点注意
1. 在方法重写时不能变更声明的返回类型,但可以为声明的返回类型的子类public class Foo{ void go() { }}class Bar extends Foo { String go() { // 不合法 return null; }}该段代码会报如下错误Multiple markers at this line - overrides Foo.go原创 2016-04-26 11:38:39 · 1642 阅读 · 0 评论 -
Java中Downcasting向下转型的用处
看如下代码:class Animal { void makeNoise() {System.out.println("普通叫声"); }}class Dog extends Animal { void makeNoise() {System.out.println("汪汪汪"); } void playDead() { System.out.println("翻滚"); }}原创 2016-04-25 15:47:00 · 1111 阅读 · 0 评论 -
Java的多态在方法重载和重写时的情况
看普通的多态如下:class Animal { }class Horse extends Animal { }class Test { public void doStuff(Animal a) { System.out.println("进入Animal方法"); } public void doStuff(Horse h) { System.out.println("进入原创 2016-04-25 14:02:46 · 751 阅读 · 0 评论 -
Java重载时的类型转换
有以下代码:class Adder {public int addThem(int x, int y) {System.out.println("方法1进入");return x + y;}public double addThem(double x, double y) {System.out.println("方法2进入");return x + y;原创 2016-04-22 16:26:13 · 667 阅读 · 0 评论