Java继承机制

概述本章将学习面向对象编程的另一个概念:继承(inheritance)。继承的基本思想是,可以基于已有的类创建新的类。 Note: 一般而言,子类来继承超类,目的不是使用超类的方法,而是去修改超类的方法,或者是去扩展超类的方法。因此,继承一般很少去使用,如果处于使用为目的,那就可以使用依赖关系进行注入,或者使用代理模式来使用这些类。 类、子类、超类“is-a” 关系是继承的一个明显特征。...

发布于 Java基础知识

Java虚拟机-类加载机制

类的加载在Java虚拟机中的地位是非常高的。因为类加载允许来自不同地方的字节码,加载到Java虚拟机中,这样的操作,就使得Java虚拟机获得了极高的灵活性。 带来灵活性的同时,也会带来诸多问题:文件格式是够合法,字节码格式是否合法,字节码内容是否违背安全,

发布于 Java虚拟机

[Java][JVM] Java虚拟机学习之路

什么是Java虚拟机?Java为了摆脱平台的束缚,为此Java语言运行于Java虚拟机上,实现了“一次编译,处处运行”的理想。同时Java虚拟机提供了良好的内存管理和访问机制,也就是使用了垃圾回收机制,同时严格限制了指针的使用(引用类型),因此避免了许多内存泄漏的问题。 为什么要使用Java虚拟机?众所周知,C/C++语言可以编译为可执行文件,可执行文件可以在某个操作系统上运行,但...

发布于 Java虚拟机

Java笔记--网络编程

Java笔记–网络编程一、 网络編程中有两个主要的问题: 如何准确地定位网络上一台或多台主机:定位主机上的特定的应用 到主机后如何可靠高效地进行数据传输 二、 网络编程的两个要素 对应问题一:IP和端口号 对应问题二:提供网络通信协议:TCP/IP参考模型 应用层 传输层 网路层 物理+数据链路层 通信要素一:IP和端口号 IP:唯一的表示Internet上的计算机(通...

发布于 Java基础知识

Java笔记--反射

Java笔记–反射Java反射机制概述 Reflection (反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就...

发布于 Java基础知识

Java笔记---IO流

I/O是输入输出的缩写,I/O技术用于处理设备之间的数据传输,如读写文件,网络通讯等等 Java程序中,对于数据的输入输出操作以”流(Strem)“的方式进行 java.io包下面提供了各种”流“类和接口,用以获取不同种类的数据,并通过标准的方法输入成输出数据 流的分类 根据数据的流向分为输入流,输出流。 根据操作数据单位分为:字节流(8 bit), 字符流。 根据流...

发布于 Java基础知识

Java笔记---File类的使用

File类的一个对象,代表一个文件,或者一个文件夹 File类声明在java.io包下面 File类中涉及关于文件和文件目录的创建,删除,重命名,修改时间,文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要写入或读入文件内容,则需要IO流来完成。 后续File类的对象常会作为参数传入到流构造器中,指明读取或写入的”终点“。 如何创建一个File类的实例构造器一:public F...

发布于 Java基础知识

Java笔记---枚举类和注解

一、枚举类自定义枚举类方式一:JDK5.0之前自定义枚举类123456789101112131415161718192021222324252627282930313233class Seasons { //1. 声明Seasons对象的属性 private final String SeasonName; private final String Seaso...

发布于 Java基础知识

JAVA笔记---方法

方法的基础1. return 语句的一些高级应用12345678910111213141516171819public class Method{ public static void main(Sting[] args){ System.out.println(Method_re); } public static void M...

发布于 Java基础知识

Java笔记---成员初始化

成员初始化Java尽力保证所有变量可以在使用前可以初始化。 1234567void f(){ int i; System.out.println(i); //! i++; //开幕雷击:这里就报错了,会告诉你变量 i 未初始化}//Output: 0 这说明,数据成员在创建之初是有初始值的。但这并不代表java为数据成员提供了默认值。 指定初始化 直...

发布于 Java基础知识