java日常笔记2016-12-08

本文深入讲解Java中的null概念、方法的使用、构造方法、静态与实例的区别、代码块的应用、数组传参等内容,并探讨了面向过程与面向对象的差异。
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;//成员变量:field
	String 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:默认构造方法,始终在最前面调用 (记住静态优先,构造方法优先)



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值