java小知识点总结1


方法重载(overload):
1.必须是同一个类
2方法名(也可以叫函数)一样
3参数类型不一样或参数数量不一样
4.与返回类型无关

方法的重写(override)两同两小一大原则:
子类重写父类中方法
方法名相同,参数类型相同
子类返回类型小于等于父类返回类型
子类抛出异常小于等于父类抛出异常
子类访问权限大于等于父类访问权限
子类重写方法的返回值类型必须为父类方法的返回值类型 或父类方法返回值类型的子类类型

子类重写方法抛出的异常类型 只能是父类方法抛出的类型  或父类方法抛出的异常类型的子类类型

子类重写方法的可见性 必须大于或等于父类方法的 可见性  比如 父类方法是用 protected 修饰的  子类就只能用 public 修饰 而不能用private 修饰



       Java中String不是基本类型,但是有些时候和基本类型差不多,如String b = "tao" ; 可以对变量直接赋值,而不用 new 一个对象(当然也可以用 new)。所以String这个类型值得好好研究下。

Java中的变量和基本类型的值存放于栈内存,而new出来的对象本身存放于堆内存,指向对象的引用还是存放在栈内存。例如如下的代码:

int  i=1;

    String s =  new  String( "Hello World" );

变量i和s以及1存放在栈内存,而s指向的对象”Hello World”存放于堆内存。


如下代码:

public class StringDemo{
   private static final String MESSAGE= "taobao" ;
   public static void main(String [] args) {
     String a = "tao" + "bao" ;
     String b= "tao" ;
     String c= "bao" ;
     System.out.println(a==MESSAGE);
     System.out.println((b+c)==MESSAGE);
   }
}

1,字符串在java中存储在字符串常量区中
2,==判断的是对象引用是否是同一个引用,判断字符串相等要用equals方法
首先判断a==MESSAGE 同一份字符串常量在内存中只有一份,因此是同一地址,返回true
再次比较(b+c)==MESSAGE 这相当于 new String(b+c)==MESSAGE 这里new了一个String对象,所以返回false


初始化过程顺序: 
1.  初始化父类中的静态成员变量和静态代码块  ; //类中的static变量和代码块最先被加载
2.  初始化子类中的静态成员变量和静态代码块  ; 
3.初始化父类的普通成员变量和代码块,再执行父类的构造方法;
4.初始化子类的普通成员变量和代码块,再执行子类的构造方法; 


 java关键字的一些误区:
  java中 true ,false , null 在java中不是关键字,也不是保留字,它们只是显式常量值,但是你在程序中不能使用它们作为标识符。
其中const和goto是java的保留字。java中所有的关键字都是小写的,还有要注意true,false,null不是java的关键字,但是你不能把它们作为java标识符用sizeof和friendly在java中什么都不是,可以作为标识符




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值