------------恢复内容开始------------
1.1 包的概述和使用
包其实就是文件件;
包的格式:package 包名;(多级包用“.”分开)
eg:package com.helloworld;
带包的Java类编译和执行
1)手动建包:
手动建包把class文件移到最里面带包执行
2)自动建包:
javac -d.HelloWorld.java (-d 资源管理器--------表示在当前目录下)
java com.helloworld.Helloword
2 导报的概述和使用
使用不同包下的类时,要写类的全路径,为了方便
导包的格式
格式:import 包名;
eg: import helloworld.HEllo
3 修饰符
3.1 权限修饰符
private 只在本类中可使用(私有)
默认 同一个包中子类无关类
protected 同一个类,同一个包中子类无关类,不同包的子类
public 同一个类,同一个包中子类无关类,不同包的子类 ,不同包的无关类
3.2 状态修饰符
final 最终态----可修饰成员方法,成员变量,类
特点:修饰方法——表明该方法是最终方法,不能被重写;
修饰变量——表明该变量是常量,不能再次被赋值;
修饰类——表明该类是最终类,不能被继承;
修饰局部变量—— 基本类型变量-数据值不能发生改变;
引用类型-地址值不能改变,但地址里面内容可以改变;
3.3 Static 静态----可修饰成员方法,变量 ; 共享
特点: 被类的所有对象共享
可以通过类名调用(也可以通过对象名调用);
访问特点
静态成员方法只能访问静态成员;
4 多态(编译看左边,执行看右边)
概述:同一对象在不同时刻表现出来的不同形态
前提和体现:
有继承/实现关系
有方法重写
有父类引用指向子类对象 (父类new一个子类对象)
好处和弊端:
提高了程序的扩展性——体现在 定义方法的时候,使用父类型作为参数,将来在使用的时候使用具体的子类型参与操作;
不能使用子类的特有功能
多态中的转型:
1)向上转型
从子到父
父类引用指向子类对象
2)向下转型
从父到子
父类引用转为子类对象
5 抽象类 (abstract)
概述: 在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类(抽象方法必须在抽象类-不能创建对象,用多态继承创建对象);
抽象类里可以存在非抽象方法,可以没有抽象方法;
特点:
抽象类和抽象方法必须使用 abstract 关键字修饰 eg: public abstract class 类名{}、public abstract void eat ();
抽象类中不一定有抽象方法,有抽象化方法的类一定是抽象类
抽象类不能实例化,需参照多态的方式,通过子类对象实例化,这叫抽象类多态
抽象类的子类——要么重写抽象类的所有抽象方法,要么是抽象类
抽象类的成员特点
成员变量——可以是变量也可以是常量
构造方法——有构造方法,但是不能实例化,构造方法的作用是用于子类访问父类数据的初始化;
成员方法——可以有抽象方法,限定子类必须完成某些动作,也可以有非抽象方法,提高代码复用性;
6 接口(抽象,不能被实例化)
描述:接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用;
JAVA 中的接口更多的体现在对行为的抽象;
接口的调用方法类一般是—— 接口名+Impl(class类)
特点:
1.接口用关键字 interface 修饰 eg: public interface 接口名 {}
2.类实现接口用implements(实现)表示 eg: public class类名 implements 接口名 {}
3.接口不能实例化——参照多态的方式,通过实现类对象实例化(接口多态)
多态的形式:具体类多态(几乎不用),抽象类多态,接口多态。
多态的前提:有继承或者实现关系;有方法重写;有父(类/接口)引用指向(子/实现)类对象
4.接口的实现类 要么重写接口中的抽象方法
要么是抽象类(+abstract)
------------恢复内容结束------------