![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA学习
F&an
学生
展开
-
java学习(1)---Java应用程序的运行机制
java学习(1)—Java应用程序的运行机制计算机高级语言的类型主要有编译型和解释型,例如C,C++都是编译型语言,而Python, PHP,JS这些脚本语言,是解释型语言。Java首先利用文本编辑器编写Java源程序,源文件的后缀名为java;再利用编译器(javac)将源程序编译成字节码文件,字节码文件的后缀名为.class;最后利用java虚拟机(解释器,java)解释执行。...原创 2019-08-04 18:30:59 · 157 阅读 · 0 评论 -
Java学习(11)---接口的作用
声明格式: 【访问修饰符】 Interface 接口名 【extends 父接口1,父接口2...】{ 常量定义: 方法定义: }定义接口的详细说明:1.访问修饰符:只能是public或默认。2.接口名:和类名采用相同命名机制。3.extends:接口可以多继承。4.常量:接口中的属性只能是常量,总是:public static final修饰。不写也是。5.方法:接口中的方...原创 2019-09-21 20:13:03 · 91 阅读 · 0 评论 -
Java学习(10)---抽象方法和抽象类
抽象方法使用abstract修饰的方法,没有方法体,只有声明。定义的是一种"规范",就是告诉子类必须要给抽象方法提供具体的实现。抽象类包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,是子类之间更加通用。抽象类使用特点:1.有抽象方法的类只能定义成抽象类2.抽象类不能实例化,即不能用new来实例化...原创 2019-09-21 17:45:22 · 112 阅读 · 0 评论 -
Java学习(9)super关键字|访问控制符
super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。使用super调用普通方法,语句没有位置限制,可以在子类中随便调用。若是构造方法的第一行代码没有显示的调用super(…)或者this(…)那么Java默认都会调用super()含义是调用父类的无参构造方法,这里的super可以省略。构造方法调用顺序:构造方法第一句总是:super(…)来调用父类对应的构...原创 2019-09-17 20:12:15 · 95 阅读 · 0 评论 -
Java学习(8)---继承
1. 继承使用要点父类也称作超类,基类,派生类等。Java中只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。Java中类没有多继承,接口有多继承。子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。如果定义一个类时,没有调用extends,则它的父类是:java.lang.Obj...原创 2019-09-08 17:57:12 · 92 阅读 · 0 评论 -
Java学习(7)---static关键字/静态初始化块
类中,用static声明的成员变量为静态成员变量,也称为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。static修饰的成员变量和方法串,从属于类。普通变量和方法从属于对象的。构造方法用于对象的初始化!静态初始化块,用于类的初始化操作!在静态初始化块中不能直接访问非static成员。静态初始化块执行顺序:上溯到Object类,先执行Object的静态初始化块,再向下执...原创 2019-09-06 14:44:29 · 121 阅读 · 2 评论 -
Java学习(6)---面向对象内存分析
面向对象内存分析java虚拟机的内存可以分为三个区域:栈(stack),堆(heap),方法区(method area)栈的特点如下:栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(储存局部变量,操作数,方法出口等)JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数,局部变量等)栈属于线程私有,不能实现线程间的共享!栈的存储特性是"先进后出,后进先出...原创 2019-09-04 20:13:39 · 79 阅读 · 0 评论 -
Java学习(5)---递归
递归——自己调用自己递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是"自己调用自己",一个使用递归技术的方法将会直接或者间接的调用自己。利用递归可以用简单的程序来解决一些复杂的问题。比如:斐波那契数列的计算,汉诺塔,快排等问题。递归结构包括两个部分:1.定义递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环,也就是递归的结束条件。2.递归体。解答:什...原创 2019-09-02 23:01:17 · 100 阅读 · 0 评论 -
java学习(4)---Java算数运算符(自增自减运算符)
测试自增和自减 int a = 3; int b1 = a++; //执行完后,b = 3,a = 4。先给b赋值;再自增。 int b2 = ++a; //先给a自增,再赋值给b。原创 2019-09-01 14:41:29 · 95 阅读 · 0 评论 -
java学习(3)---Java基本数据类型
1. 整型变量、常量Java语言整型常量的四种表示形式十进制整数,如:99,-55,0八进制整数,要求以0开头,如:015十六进制数,要求0x或0X开头,如:0x15二进制数,要求0b或0B开头,如:0b01110011 int a = 15; int b = 015; int c = 0x15; int d = 0b1101; System.out.pri...原创 2019-09-01 14:26:43 · 120 阅读 · 0 评论 -
java学习(2)---Java变量分类,常量
局部变量(local variable)方法或语句块内部定义的变量。生命周期是从声明位置开始到方法或语句块执行完毕为止。局部变量在使用前必须先声明,初始化(赋初值)再使用。成员变量(也叫实例变量 member variable)方法外部,类内部定义的变量。从属于对象伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值 。数据类型实时值int0d...原创 2019-08-22 19:58:40 · 70 阅读 · 0 评论 -
Java学习(12)---内部类的分类
在java中内部类主要分为成员内部类(非静态内部类,静态内部类),匿名内部类,局部内部类。成员内部类(可以使用private,default,protected,public任意进行修饰。类文件:外部类$内部类.class)非静态内部类(外部类里使用非静态内部类和平时使用其他类没什么不同a. 非静态类内部类必须寄存一个外部类对象量。因此,如果有一个非静态内部类对象那么一定存在对应的外部类对象...原创 2019-09-22 14:24:49 · 111 阅读 · 0 评论