java基础知识(上)
第一章:Java程序设计概述 Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。 具体来说,它具有如下特性: 简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。 Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础; JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;
第二章:Java程序设计环境 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。 3,jvm:
Java Virtual Machine,java程序的编译器。 4,环境变量的配置: JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin classpath=%JAVA_HOME%\lib(windows10系统可以不配)
第三章:Java的基本程序设计结构 数据类型: 1、八大基本数据类型:byte、short、int、long、float、double、char、boolean 2、引用数据类型: 数组、类、接口。 级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double 自动类型转换:从低级别到高级别,系统自动转的; 强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量; 自动装箱: 将基本数据类型封装为对象类型 int-> Integer 自动拆箱: 将对象重新转化为基本数据类型 Integer --> int 运算符号: 算术运算符、赋值运算符、比较运算符、逻辑运算符。 5,语句。
顺序结构 默认
条件结构 if switch
循环结构 do while while for
第四章:对象和类 1.类 -- 对一堆对象的抽像(抽出像的部分) 2.对象 -- java中万事万物皆对象 引用数据类型:类,接口,数组,对象 ==和equals String类的equals比较的是值 Object类的equals比较的是内存地址 ==基本数据类型比较的是值 ==引用数据类型比较的是地址 类变量和实例变量的区别 1.共享性:类变量被所有对象共享,实例变量为每个对象独有 2.初始化时间:类变量在类加载时分配内存,实例变量在创建对象时分配内存 3.消亡时间:类变量在程序退出时释放内存,对象不存在则实例变量就不存在 4.调用形式:类变量一般通过类名.来调用,实例变量通过对象.调用 5.声明的形式:类变量static来声明,实例变量没有static声明 类加载的时间点要早于对象创建的时间点 类加载:发生在类第一次被虚拟机调用,类会被虚拟机加载,一般类只被加载一次 1.初始化类变量 2.分配类方法的函数入口 3.执行静态块 可以写多个且执行顺序从上往下依次执行(内部将所有静态块合成一个静态块) 可以在静态块里调用静态方法和使用静态变量 对象创建晚于类加载的时间 声明一个对象 创建对象 通过赋值号为声明变量赋值 1.初始化实例变量 2.分配实例方法的函数入口 3.执行对象块 可以写多个且执行顺序从上往下依次执行,对象块在构造方法之前 4.执行构造函数 每次创建一个新的对象都会重复上面的操作 类方法和实例方法的区别 1.类加载时类方法被分配入口地址,实例方法是在第一个对象创建时被分配入口地址 2.类方法一般是类名.来调用 3.类方法中不能使用this关键字,this表当前对象,类方法是在类加载时就存在而此时对象还不存在 空指针异常 -- 使用了为null的类型 JVM:内存分区:
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄
- 栈区:函数入口,基本数据类型,对象的引用,变量名
- 堆区:通过new关键字新建的对象
- 方法区:代码,静态变量
- 常量池:常量
- 必须有继承
- 发生重写
- 子类引用指向父类类型
- 子类新增的方法会丢失
- 子类新增的属性也会丢失
- 抽象类必须被继承。
- 抽象类不能被直接实例化。它只能作为其它类的超类,这一点与最终类(final类)正好相反。
- 抽象方法必须被重写
- 抽象方法只有声明,不能有实现{}。
- 定义了抽象方法的类必须是抽象类。
- 通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系。
- 通过接口可以指明多个类需要实现的方法。
- 通过接口可以了解对象的交互界面,而不需了解对象所对应的类。
- 相同点:都必须通过其它类实现才能使用;
- 不能直接实例化
- 抽象类是类,其中可包含变量及(抽象)方法的定义;
- 接口实质并不类,其中只包含类常量及抽象方法的定义;
- 类只能单一继承,接口允许多重继承
- 接口中只能有public修饰符,类可以是任何修饰符
- 设计模式讲:继承强调是一种的关系 is-a 接口:强调功能具有 has - a

更多精彩