java的基础知识
一、对象和封装
1、java编写流程
1、编写源程序
2、编译源程序
3、运行class文件
2、面向对象设计的步骤
1、提取类
2、提取静态特征:属性
3、提取动态特征:方法
3、java中类名的命名规则
1、首字母大写
2、和文件名一致
3、由数字、字母、下划线和$组成
4、构造方法及其重载
1、构造方法
作用:用来new对象
语法:访问修饰符 类名(参数列表){ }
2、重载
特点:在同一个类中,方法名相同、参数个数不同或参数对应下标不同
5、java中的常量
1、final:常量关键字
2、特点:只允许初始化一次值
3、修饰方法时:方法不能被重写
4、修饰类时:不能被继承
6、static关键字
1、被static修饰的成员属于类成员
2、可以修饰属性、方法和代码块
3、static可以修饰类,但是只能修饰内部类
7、this关键字
作用:对当前类的对象的引用
二、重载
1、继承的概述
1、定义:子承父,将具有相同行为的类的代码提取为一个公共类
2、作用:用来描述两个类之间的关系
3、子类又被称为派生类
4、父类又被称为基类
2、继承的特性
1、单根性:只能有一个父类
2、传递性:子类的子类能继承父类
3、子父类之间的关系
1、子类能拥有父类的所有非private行为
2、访问修饰符
private:只能在本类中使用
friendly:可以在本类和同包的子类中引用
protected:可以在本来和子类(不同包也可以)中使用
public:任何地方都可以使用
3、通过对象访问父类的成员
1、如果是同一个包,则只有private不能访问
2、如果不在同一个包中,则只能访问public
4、构造函数重写
1、特点
1、相同的方法名
2、相同的参数
3、访问修饰符:子类必须大于等于父类
4、返回值类型:父类必须要大于等于子类
5、super关键字
1、作用
用来调用父类的成员
2、调用方式
1、super.属性
2、super.print()
3、super(name)
3、特点
在构造方法中,this和super只能出现在第一条
6、抽象类和抽象方法
1、抽象方法的特点
1、不能有方法体
2、必须在抽象类中
3、子类必须重写抽象方法,除非子类也是抽象类
2、抽象类的特点
1、不能被实例化
2、可以包含实例方法,也可以包含抽象方法
3、abstract修饰方法的特点
1、不能喝private修饰同一个方法
2、不能喝static同时修饰一个方法
3、不能和final同时修饰一个方法或类
7、重写的实现方式
1、直接重写
相同的方法名、相同的参数就行
2、抽象方法实现:abstract
三、多态
1、定义
一个事物的多种形态
2、实现方式
1、重载
在同一个类中
2、重写
在不同类中
3、类型转换
1、向上转型
子类到父类的转换
例如:父类 对象名 = new 子类()
2、向上转型的特点
讲一个父类的引用指向一个子类对象,自动进行类型转换
3、向下转型
父类到子类的转换
4、向下转型的特点
强制将子类的对象转换为父类
4、instanceof运算符
1、语法
对象 instanceof 类或接口
2、作用
用来判断一个对象是否属于一个类或者实现了一个接口,结果返回true或false
3、注意
使用instanceof运算符时,对象的类型必须和instanceof的第二个参数所指定的类或接口在继承上有上下级关系,否则会出现编译错误。
四、接口
1、接口的定义
1、语法
public interface 接口名{}
2、接口的特点
1、不能被实例化
2、成员方法只能是抽象方法,修饰符为abstract
3、不能有构造方法
4、只能存在final修饰成员
5、继承需要写在接口的前面
3、接口的作用
约束了子类必须用有某种行为
4、接口的使用
关键字:implements,多个接口之间用逗号隔开
5、继承和接口的区别
继承:为单继承,一个类只能继承一个父类
接口:为多接口,一个类可以实现多个接口
6、接口和抽象类的区别
1、相同点
都不能被实例化
约束子类必须实现抽象方法,除非子类也是抽象类
2、不同点
1、关键字:抽象类的关键字是abstract,接口为:interface
2、接口不能存在构造方法,抽象类可以有
3、接口只能存在抽象方法,抽象类可以有非抽象方法
4、抽象类可以有非静态的变量,也可以有常量,接口只能有类成员的常量