您的位置:首页 > 其它

随堂笔记7.29:对象,接口,构造方法,引用数据类型,抽象类,抽象方法-------1

2016-07-29 20:00 288 查看

1创建对象

//创建对象,会调用构造方法

//类中如果没有声明构造方法时会默认生成无参构造方法。

2.构造方法

//初始化类当中的所有属性

//未赋值的属性为默认值,引用对象为null,bolean为false,其他的都是0,

/

3.封装性

把一些属性的访问权限变小。用特定的方法去访问。

private,default,protected,public

4.static

关键字static修饰方法(静态方法)或变量 。不含static关键字为非静态方法(对象方法)。

5.断言

Assert  e.getsize()  >  size: "太大放不下";  //断言  java -ea Demo  开启断言
//断言:用于调试,用-ea开启,如果断言为false,则抛出异常,属于运行时异常
if(e.getsize() > size){
System.out.println("装不下");
}else{
System.out.println("装入"+ e.getName());
}


6.接口

/*
* 接口
* 接口里面没有属性,只有常量(以 static final 修饰的属性都是常量)
* 方法:默认具有public abstract 两个关键字, 1.8以后,方法可以有方法体,要加上default
* 1.8以后可以有静态方法
* 接口主要用于方法的传递
* 接口不可以被实例化
*/
public interface Drawable {
int a = 10;
void draw(int i);
default  void  method(){
System.out.println("default修饰");
}
static void d(){
System.out.println("static修饰");
}
}


如果一个类实现两个接口,这两个接口同时有相同的抽象方法,在类中只需要重写一次这个方法。

如果接口中有default修饰的方法不需要重写。

如果两个接口里的方法名相同都是default方法,里面的方法体不同,在类中需要重写该方法。

如果两个接口中方法名,参数都相同的方法,一个接口是抽象方法,另一个是default修饰有方法体。这是该类也必须重写该方法。

7.接口的使用

有三种方法

1.  //实现接口实例化对象。
Drawable drawable = new Rect();
drawable.draw(5);

2.  // 匿名内部类
Drawable d = new Drawable() {
@Override
public void draw(int i) {
System.out.println("匿名内部类");
}
};
d.draw(5);

3. //JDK1.8以后的lamdba语法,只能实现单方法的接口。
Drawable drew = (i) ->{
System.out.println("lambda " + i);
};
drew.draw(5);


8.继承

//引用数据类型转换

//自动:子类对象转换为父类对象

//强制: 父类对象转为子类对象,构造异常。

//子类的分类更加细,属性和方法更多,扩展父类。

public class Elephant extends Thing

9.重写,重载

@Override//重写 在两个有继承关系的类中,子类重写父类

/*

* 访问权限不能小于父类的访问权限

* 返回值类型:为父类返回值类型或其子类类型

* 方法名一定是相同的

* 参数列表必须相同。

* 声明抛出的异常一定是父类声明抛出的范围内的异常。

* */

//重载 在同一个类中

10.方法finalize() 回收对象

System.gc();//唤醒垃圾回收
/*
*相当于c++中的析构方法,对象被回收的时候调用
*/

protected  void  finalize() throws Throwable {
super.finalize();
System.out.println("大象被回收了");
}


11.抽象类,抽象方法

/*
* 抽象类
* 不能被实例化 (不能new)
*/
public abstract class Thing

/*
*抽象方法
* 抽象一定是在抽象类当中
* 抽象方法没有方法体
* 为了被重写存在的
* 如果继承一个有抽象方法的抽象类时,一定重写抽象方法。
*/
public abstract String getName();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  对象