java的基础知识:
第一天
java语言的三种技术架构:
JSE 标准版: 利用该平台开发java桌面应用程序和低端的服务器应用程序
JEE 企业版: 可以构建企业级的服务应用,jee 包含jse,并增加了一些类库, 主要用于开发web应用程序
JME: 用于嵌入式 老式手机的 手机应用等。
JVM: java虚拟机
JRE: 包含java虚拟机 ,类库以及一些核心文件组成
JDK: 包含了jre 以及java开发工具
第二天
java命名规则:
包名:全部用小写字母
类名:所有单词的首字母大写
变量和方法名:第一个单词首字母小写,后面单词的首字母大写
常量名:所有字母都大写
八大基本数据类型:
整型:
byte: 一个字节 八位 -128~127
short: 两个字节 十六位 -2^15~2^15-1
int: 四个字节 三十二位
long:八个字节 六十四位
浮点型:
float: 四个字节
double: 八个字节
字符型:
char: 两个个字节
逻辑型:
boolean: 一个字节
第三天
class类:是对象的抽象:它是现实中事物的一个软件抽象
object 对象:是类的实例
面向过程:强调的是功能行为
面向对象:将功能封装近对象,强调的是带有功能的对象。
面向对象是基于面向过程的;
java 开发过程:就是不断的创建对象 使用对象,指挥对象做事情。
设计的过程:管理和维护对象之间的关系
面向对象的特征:封装 继承 多态;
类的属性也叫成员变量 定义在类的层面
类的方法也叫成员函数
成员变量 存在默认初始化值
局部变量 没有初始化值
构造函数
特点 : 名称与类相同 没有返回值 有默认的构造函数
作用: 给对象进行初始化
构造方法重载: 方法名相同 必须是参数类型 或数量不同 与返回类型无关,只看参数列表。
封装:隐藏对象的属性和实现细节, 对需要访问的属性 设置公共的访问方法(getter,setter)
javabean:
this关键字:
对象内部 指向自身的一个指针;
什么时候用this: 当类的成员变量名称和参数名称相同时 就要用this关键字来区分。
static 关键字:用于修饰成员变量和函数 静态属性和方法 与对象无关,可以类. 直接调用。
特点:
1 随着类的加载而加载
2优先于对象存在
3被所有对象所共享
4可以通过类名直接调用
注意:
静态方法只能访问静态变量和方法、
静态方法不能出现this 和super关键字
javabean
私有的属性 共用的getter/setter方法
第四天
代码块 :
1.有局部代码块
在函数内部定义的(用的很少)
局部代码块不能用 static修饰
2.构造代码块:
是类的成员之一,和类的成员变量和成员函数同级
实例化对象时:构造代码块要先于 构造函数执行
3.静态代码块:
构造代码块+static关键字 变为静态代码块
在类加载的时候执行 而且只执行一次;
第五天
继承:
概述:
1.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继那个类即可。
2.多个类可以称为子类,单独这个类称为父类或者超类。
3.子类可以直接访问父类中的非私有的属性和行为。
优点:
很好的进行代码的重用、
继承的关键字是 extends class b extends a
特点:
java 只支持单继承 只能有一个父类 但支持多层继承
super关键字:
超类,和this用法相似
this代表本类对象的引用
super代表父类的内存空间的标识。
当子父类出现同名成员时,可以用super进行区分
子类要调用父类构造函数时,可以使用super语句。
super(); 表示调用父类的构造函数;
super.方法();这里表示调用父类的同名方法;
this(); 表示调用本类的 构造函数;
this.方法(); 表示调用本类的 方法;
final关键字:可以修饰 类 方法 变量
修饰类 :类不能被继承
修饰方法:方法不能被覆盖(重写 或重载)
修饰变量:就变为常量 只能被赋值一次 如果不赋值 编译通不过;
abstract抽象的:
抽象方法由来:
多个对象都具备相同的功能,但是功能具体内容有所不同,那么在抽取过程中,只抽取了功能定义,并未抽取功能主体,那么只有功能声明,没有功能主体的方法称为抽象方法。
例如:狼和狗都有吼叫的方法,可是吼叫内容是不一样的。所以抽象出来的犬科虽然有吼叫功能,但是并不明确吼叫的细节。
抽象类中
抽象方法:
只有声明没有方法体的方法 必须用 abstract来修饰
抽象方法必须在抽象类中
抽象类 必须使用abstract来修饰
abstract+static 是非法组合;
abstract+final 是非法组合(abstract类 就是要被继承 然后重写方法,而final 修饰 又不能被继承 所以是非法组合)
软件开发的特点要 高内聚,低耦合:
interface 接口: 面向接口编程:降低耦合度
特点:
降低耦合度,多实现,功能拓展, 接口之间可以继承 , 接口可以多继承
接口和抽象类的区别:
都是不断抽取出来的抽象概念,
接口中都是抽象方法 成员都有固定修饰符,
抽象类中可以有非抽象方法,供子类直接使用
抽象类提现的是继承关系,单继承 继承是 is a 的关系
而接口是实现关系,可以多实现 实现是 like a 的关系
第六天
写代码:注意 封装 以及代码重用