Java基础第八讲
来源:互联网 发布:订单系统代码java 编辑:程序博客网 时间:2024/06/05 05:10
一、代码块
1.局部代码块
在方法内部.限定变量的周期,更早的释放,从而提高内存的利用率.
2.构造代码块
在类类的里面,方法的外面.多个构造方法中相同的代码存放在一起,每次调用构造都执行,并且在构造方法前执行.
3.静态代码块
1)在类中,方法外.被static修饰.
2)用于对类进行初始化,在类加载的同时执行,只执行一次.
二、继承
1.继承的好处
1)提高代码的被复用性
2)提高代码的维护性
3)使类和类之间产生关系.
2.继承的弊端
增强了类的耦合性.如果子类改变,父类也会受到影响.
3.继承的特性
1)Java中只支持单继承,不支持多继承.如果支持多继承的话,有相同名字的方法,调用时,会有差异.
2)Java支持多层继承.类1继承类2,类2继承类3.
3)如果需要用某个体系的所有功能,需要对最底层的类创建对象.
4)如果想看某个体系的功能,最顶层的即可.
4.继承中的注意事项
1)子类只能继承父类中所有的成员方法和成员变量.
2)子类不能继承父类的构造方法,但可以通过super关键字来访问父类的构造方法.
3)不要为了部分的功能使用继承.适用于某个类是另一个类的一种.如:香蕉是水果的一种.
4)子类初始化前,要先完成父类数据的初始化,因为子类会继承或使用父类中的数据.
三、super关键字
1.作用
1)调用父类的成员变量.
2)调用父类的构造方法.
3)调用父类的成员方法.
2.注意事项
1)super或this必须出现在第一条语句上,如没有,系统会默认一个super.
四、方法重写(Override)和方法重载(Overload)
1.方法重写
1)应用
当子类需要父类的功能时,而功能主体子类有自己特有的内容时,可以重写父类中的方法.这样即演戏了父类的功能,又定义了子类特有的内容.
2)注意事项
父类中的私有方法不能被重写.因为父类私有方法子类不能继承.
子类重写父类方法时,访问权限不能低于父类,最好一致.(public)
父类的静态方法,子类也必须通过静态方法进行重写.
子类重写父类方法时,声明最好一样.
3)方法重写与方法重载的区别
方法重写是子类的方法覆盖父类的方法,所以方法名和参数要相同.
重载是在类中有同名的方法,但参数列表不同,与返回值无关.
五、final关键字
1.作用
可以用来修饰类,变量,方法.
2.特点
1)如果修饰了类,则类不可以被继承.
2)如果修饰变量,修饰的变量如果是基本数据类型,则其值不能被改变.修饰的如果是引用数据类型,则其储存的地址不能被改变.
3)如果修饰方法,方法不能被重写.
1.局部代码块
在方法内部.限定变量的周期,更早的释放,从而提高内存的利用率.
2.构造代码块
在类类的里面,方法的外面.多个构造方法中相同的代码存放在一起,每次调用构造都执行,并且在构造方法前执行.
3.静态代码块
1)在类中,方法外.被static修饰.
2)用于对类进行初始化,在类加载的同时执行,只执行一次.
二、继承
1.继承的好处
1)提高代码的被复用性
2)提高代码的维护性
3)使类和类之间产生关系.
2.继承的弊端
增强了类的耦合性.如果子类改变,父类也会受到影响.
3.继承的特性
1)Java中只支持单继承,不支持多继承.如果支持多继承的话,有相同名字的方法,调用时,会有差异.
2)Java支持多层继承.类1继承类2,类2继承类3.
3)如果需要用某个体系的所有功能,需要对最底层的类创建对象.
4)如果想看某个体系的功能,最顶层的即可.
4.继承中的注意事项
1)子类只能继承父类中所有的成员方法和成员变量.
2)子类不能继承父类的构造方法,但可以通过super关键字来访问父类的构造方法.
3)不要为了部分的功能使用继承.适用于某个类是另一个类的一种.如:香蕉是水果的一种.
4)子类初始化前,要先完成父类数据的初始化,因为子类会继承或使用父类中的数据.
三、super关键字
1.作用
1)调用父类的成员变量.
2)调用父类的构造方法.
3)调用父类的成员方法.
2.注意事项
1)super或this必须出现在第一条语句上,如没有,系统会默认一个super.
四、方法重写(Override)和方法重载(Overload)
1.方法重写
1)应用
当子类需要父类的功能时,而功能主体子类有自己特有的内容时,可以重写父类中的方法.这样即演戏了父类的功能,又定义了子类特有的内容.
2)注意事项
父类中的私有方法不能被重写.因为父类私有方法子类不能继承.
子类重写父类方法时,访问权限不能低于父类,最好一致.(public)
父类的静态方法,子类也必须通过静态方法进行重写.
子类重写父类方法时,声明最好一样.
3)方法重写与方法重载的区别
方法重写是子类的方法覆盖父类的方法,所以方法名和参数要相同.
重载是在类中有同名的方法,但参数列表不同,与返回值无关.
class TestAnimal {public static void main(String[] args) {Cat c = new Cat("蓝色",4);c.catchMouse();}}class Animal{private String color;private int legs;public Animal(){}public Animal(String color,int legs){this.color = color;this.legs = legs;}public void setColor(String color){this.color = color;}public String getColor(){return color;}public void setLegs(int legs){this.legs = legs;}public int getLegs(){return legs;}}class Cat extends Animal {public Cat(){}public Cat(String color,int legs){super(color,legs);}public void catchMouse(){System.out.println(getLegs() + "条腿" + getColor() + "颜色的猫" + "可以抓老鼠");}}class Dog extends Animal {public void lookHome(){System.out.println("我是" + getColor() + "的狗" + "我有" + getLegs() + "条腿" + "我可以看家");}}
五、final关键字
1.作用
可以用来修饰类,变量,方法.
2.特点
1)如果修饰了类,则类不可以被继承.
2)如果修饰变量,修饰的变量如果是基本数据类型,则其值不能被改变.修饰的如果是引用数据类型,则其储存的地址不能被改变.
class Demo3_Final {public static void main(String[] args) {Demo d = new Demo();d.print();}}class Demo {final int NUM ;public void print() {NUM = 20;System.out.println(NUM);}}
3)如果修饰方法,方法不能被重写.
0 0
- Java基础第八讲
- 第八讲 数据库基础
- Java Web基础:第八讲 Java Web的发展历史
- java第八讲
- Java基础:第八讲 使用集成开发环境(上)
- java基础第八讲——URL、XML的解析
- 第八讲 java网络编程
- 第八讲 java网络编程
- 第八讲 Java网络编程
- 第八讲 Java网络编程
- 第八讲 Java网络编程
- 第八讲 Java网络编程
- 笔记:第八讲 Java网络编程
- 第八讲 Java网络编程 (转)
- 转:第八讲 Java网络编程
- JavaSE第八十六讲:Java IO详解
- 第八讲
- 第八讲
- Eclipse插件8
- Android开发之getResponseCode抛出异常
- Linux下之使用简单3种创建文件的命令,并实现一个Html和JavaScript小程序
- 移植较新(Linux3.19)内核至mini2440开发板(一)
- HDU1232 畅通工程
- Java基础第八讲
- 字符编码
- android开发异常总结
- Git使用入门,使用原理解读及如何在GitLab、GitHub或者Stash上管理项目(二)
- Eclipse插件9
- 前端大全—总结css选择器知识
- 模板元编程加速递归
- 字符数组,特殊的数组
- Eclipse插件10