java日常笔记2016-12-08

来源:互联网 发布:网络诽谤罪澄清函 编辑:程序博客网 时间:2024/06/06 00:05
1:null 是什么?

null 是一切引用类型的初始化!!

成员变量有默认初始化:
数值类型0或0.0
引用类型null
布尔类型 false char类型是‘/u0000’   

System.out.println(null);//
这个是错误的!因为系统匹配不到是具体哪个类型

2:

面向过程----> function

面向对象----> method

方法最讲究两个字 : 匹配

也称为普通方法或实例方法,它的执行必须依赖对象!!

3:return 使用void 时,仍然可以使用return 只是可以省略

4:构造方法:类无条件具备构造方法,如果类当中没有声明构造方法,自带默认的构造方法,没有参数。如果类声明了构造方法,默认的无参构造就不存在 了。

得到对象实例!

声明的方式:
修饰符 类名(参数){

}
备注:不能声明返回值,它的执行只能 new 

5:静态方法:执行不依赖对象,直接通过类名调用,静态方法不能调用实例方法。实例方法可以调用静态方法。静态方法不能抽象!!

6:静态代码块:类加载的时候会自动执行

String field1;String field2 = "呵呵";public Demo() {System.out.println("构造方法");}static{//System.out.println("我是静态代码块");//这是一个具体的语句!!必须包含在}{System.out.println("我是实例代码块");//这是一个具体的语句!!必须包含在}public static void main(String[] args) {}

7:实例代码块:创建对象的时候执行一次,在静态代码块后执行

8:匿名对象无法通过对象引用方法之类的

9:this可省略,但最好用,因为调用方法或者变量时,可以弹出提示, 使用this可以在构造方法中调用构造方法


public  class Dog {String sex;//成员变量:fieldString color;public Dog() {System.out.println("====================================================");System.out.println("接生啊");System.out.println("====================================================");}public Dog(String color){this();this.color = color;}public Dog(String sex,String color){this(color);//独立去调用构造方法,结果又是一个对象!!this.sex  =sex;//对象已经产生了!!}public void say(String toSay){System.out.println("我是一个傻B,呵呵!!");}public  void say(){System.out.println("嘿嘿,我的命比你好!");}public void eat(){System.out.println("牛奶只喝伊利,不喝蒙牛!!");}public static void main(String[] args) {Dog you = new Dog("公","白色");}
10:数组传参

 可变数组长度、本质就是一个数组

方法的参数列表只允许一个可变长度参数,且位于最后!!

int max1 = getMax(new int[] { 1, 1, 1, 2, 3 });
int max = getMax(212,32,32,43,54,);

public static int getMax(int... arr) {}


11:三目运算判断ab的大小int max = (a>b? (a>c?a:c):(b>c?b:c)  );
      int max = (a>b?a:b) > c? (a>b?a:b):c ;

12:方法传参(基本数据类型(对原来的值是没影响的,其实传的是一份拷贝!)、

数组(数据是一个引用类型!特殊的对象!传的是对象的引用,就是一个指向。所以,如果方法中改变了该数组,原来的数组也会改变。其实就是同一个数组!!
))

public class MainMain {public static void main(String[] args) {int[] arr = new int[]{99,99,99};change(arr);for (int j : arr) {System.out.println(j);}}public static void change(int[] array){for (int i = 0; i < array.length; i++) {array[i] = 100;}}}

13:类不具备执行能力、对象具备执行能力

14:静态方法也可以new 对象出来访问

15:null 空指针异常  throw new RuntimeExciption("撒旦撒")

16:break return 区别  一个是直接给方法返回值,一个是直接退出循环

17:构造方法定义上是说不能声明返回值,但可以写return,无任何用意 

18:继承类后,如果未声明构造方法,子类是会报错的 因为子类是通过类.查找的,在类里面无法找到构造方法

19: eclipse包裹一个方法的操作,可以传递参数

20:默认构造方法,始终在最前面调用 (记住静态优先,构造方法优先)



0 0