1.javaBean的概念?
一个可以重复使用的java类就叫一个javaBean组件.
一个javaBean应该具备以下特点:
1>必须是public修饰的类
2>一定要至少要有一个无参的构造方法
3> 属性一定要private修饰,get方法和set方法
使用javaBean组件创建一个对象就叫一个Bean对象
2.package关键字和import关键字
package关键字代表的含义就是包,等同于文件夹
package关键字可以构成package语句
package语句的作用是指定某个类属于某一个包.
package语句的语法:
package 包名;
package语句应该写在类的第一个非注释行,并且只能有一句.
包名的命名一般情况下由4部分组成,组织类型
组织名称,项目名称和分类名称
package com.hxzy.hospital.util;
import关键字 导入的意思
当在一个类当中使用不在同包下的其他类,就应该在这个类当中添加import语句.
import语句写在package语句之后类定义之前,import语句可以有若干条.
两种类型的import语句:
单类型导包语句:
import 包名.类名;
包名.类名-------类的完全限定名
java.util.Scanner
按需类型导包语句:
import 包名.*;
*-----代表使用的该包的相应的类
对于java.lang包下的所有类,可以不用加import语句,因为省略了import语句.
3.面向对象语言的特征
1>继承
使用已经存在的类创建新类的技术. 还可以对新类的结构进行扩展.已存在的类叫父类(基类),创建的新类就叫子类(派生类)
2>继承的作用
可以减少重复代码的多次书写
3>继承的实现
使用extends关键字来实现
public class 子类 extends 父类{
扩展新的成员
}
4> 继承的特点
a.子类在继承父类的时候,会将父类当中的非私有成员一次性继承过来.
b.子类和父类是相对的
c.java当中的所有的类都是直接继承Object类或者是间接继承Object类.
d.类间的继承只支持单继承.一个类只能
有一个父类,但是可以派生多个子类.
5>方法的重写(overriding)
如果子类当中定义一个和父类当中完全一样的方法,就叫子类对父类方法的重写,子类对父类方法的覆盖.子类重写的方法的修饰符一定要比父类当中的方法的访问修饰符范围要大于或等于
4.方法的重载和重写的区别
方法重载是在同一个类当中允许定义多个同名称相同参数列表不同的方法
方法重写是在子类允许定义和父类当中的方法完全一样的方法,可以对父类当中的方法进行覆盖
5.super关键字
super关键字代表当前类的父类一个对象
super.成员变量来访问父类的成员变量
super.成员方法()来访问父类的方法
super(参数列表)来调用父类的构造方法,只能用在构造方法的内部
this和super的区别:
this代表当前类的一个实例
super代表当前类的父类的一个实例
this.成员变量 this.成员方法 ---this可以省略
super.成员变量 super.成员方法----
不能省略super
this()-----调用当前类的无参构造方法,
不能省略
super()-----调用父类的无参构造方法,
可以省略,调用父类的构造方法必须要出现在构造方法当中的第一句.
6.在继承关系当中,构造方法不能被继承,但要求子类当中一定要去调用父类的构造方法,默认调用的是父类的无参构造方法,省略了super();如果调用的是父类的有参构造方法,就不能省略.
多态
什么是多态?
同一种事物的多种不同表现形态
java当中的多态?
对于引用类型的变量有两种相应的类型
一种编译时类型,另一种叫运行时类型.如果这两个类型出现了不一致.
编译时类型就是声明变量时指定的类型
运行时类型就是赋给变量的对象的类型
父类类型 变量 = new 子类类型();
子类类型 变量 = (子类类型) new 父类类型();
父类类型 变量 = new 子类类型();
特性:
1>在多态关系当中,使用变量名去访问属性,访问到属性是父类的属性.使用变量名去调用方法是子类当中继承父类的方法或者子类重写父类的方法.无法通过变量名访问到子类特有的方法
2> 需要先将父类变量强制类型转换,转换成子类类型,才能够访问到子类特有的方法