java 由接口构造对象_Java学习笔记04——类和对象|抽象和接口|构造方法与继承...

六、Java类

1.  Java中用关键字class来创建类.

2.  类中属性和方法称为类的成员;类的声明和方法要在同一个文件内,不同于C++.

3.  类的定义:

[] class [extends][implement]{

}

4.  类名首字母要大写.

5.  类中定义的变量称为类的成员变量;类的方法体中定义的变量和方法的参数称为局部变量.

6.  成员变量的定义:

[] ;

7.  类的方法的定义:

[方法修饰符] ([方法参数列表]){

方法体

}

8.  类的修饰符有:public,private,final,abstract.或缺省

9.  类的变量修饰符有:public,private,protected,static,final或缺省

10.类的方法修饰符有:public,private,protected,final,static,abstract,synchronized

11.成员变量的访问类型:public,protected,friendly,private.(类内,包内,子类,包外)

12.类的命名空间:”包名.类名.成名”

13.final关键字:“最终的”。

a)  修饰变量——>常量。

b)  修饰类——>该类不能被继承。

c)  修饰方法——>该方法不能被子类重写。

14.static关键字:”静态的”

a)  函数体内的变量不能声明为静态变量;

b)  静态变量在一个类中生成的所有对象中是唯一的;

c)  静态方法中只能调用所在类的其它静态方法或变量,不能在main()方法中定义静态方法

d)  静态初始化块:[static] { …//初始化代码}

e)  静态初始化块在对象创建时隐式执行,比类的构造方法还要先执行!

15.类的main()方法:作为Java类的运行起点,main()方法所在的类一般为主类,但在哪个类并没有很大关系.Java规定类文件的文件名要与定义为public的类名相同.

16.this关键字

隐藏的实例变量可以用this来访问,可省略的.(方便用户理解程序)

17.GC垃圾回收器:

1)  new----àfinalize

2)  new分配内存:栈内存 | 堆内存.

七、类的对象

1.  对象的声明:  ;

2.  对象初始化:  对象名 = new 类的构造方法名([方法参数]);

3.  对象的创建:  = new ([方法参数]);

4.  对象的调用:  点操作”.”

八、类的构造方法

1.  Java为所有类都自动提供了一个默认参数为空的构造方法,用于初始化成员变量.

2.  构造方法与类的名称相同,并且不返回任何值,void类型也不行.

3.  构造方法是当类的实例对象创建时由编译器自动运行.

4.  如果程序没有提供构造方法,则默认运行无参的构造方法.

5.  如果程序有提供有参的构造方法,则编译器不再自动提供无参构造方法,此时如果需要无参的构造方法,需自己写入.

6.  构造方法的重载:定义包含不同参数的构造方法

7.  构造方法的继承:

a)  子类可以无条件继承父类中的无参的构造方法;

b)  如果子类没有定义构造方法,则子类将自动继承父类的无参构造方法作为自己的构造方法;如果子类有定义构造方法,则程序运行时,先执行父类的无参构造方法,再执行子类自己的构造方法;

c)  子类无法自动继承父类的有参的构造方法,但可通过super调用

九、类的继承

继承:从现有的类中派生出新的类.

1. Java中,若类C1是从另一个类C2派生出来的,那么C1为子类,C2为父类.

2. 子类从父类中继承所有的成员变量和方法,并可创建新的变量和方法.继承后子类不能访问父类中private的变量或方法.

3. 关键字extends:

Class A{}

Class B extends A{}

4. Java中子类和父类都有自己的构造函数,父类的构造函数构造父类部分,子类的构造方法构造子类部分.但当子类要使用父类的构造方法时,可用super关键字调用.

5. Java中每个类都是从java.lang.Object类中继承的,是所有类的隐性父类,提供许多方法.

6. Java中不支持多重继承,一个子类只能有一个父类

7. 内部类

8. 匿名类,匿名内部类

9. 重写与重载

a)  方法重载:方法名相同,参数的个数或类型不同,与返回类型无关,发生在同一个类中

b)  方法重写:方法名,参数的个数和类型,返回类型都相同,而方法体的实现不同.发生在子类和父类之间

c)  重写的子类抛出的异常应该小于父类对应方法抛出的异常范围.

十、抽象和接口

抽象:

1.  抽象:声明方法的存在却不实现它的类称为抽象类

2.  抽象类中可以包含抽象方法和非抽象方法,也可以只包含非抽象方法。

3.  实现抽象类的子类必须实现抽象类中全部的抽象方法,不然仍为抽象类。

4.  抽象类的作用之一是防止父类中的方法没被重写。

接口:

1.  接口定义:[接口修饰符] interface [extends] { 接口体 }

a)  接口修饰符:public或缺省

2.  接口的实现:implements

3.  接口中所有的方法都是抽象方法,所有的变量都是static型或final型。

4.  接口被实现时,其内的所有抽象方法都必须被实现

5.  接口可以供继承。

九、包package

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值