摘要:
Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化为对象,以便于操作。比如:将基本数据类型存储到Object[]数组或集合操作中等等。 Object o = {1024,"张三"}; Object o = {102 阅读全文
摘要:
多维数组看成以数组为元素的数组。实际中,我们一般使用容器。 1 package test2dimensionarray; 2 public class Test2DArray { 3 public static void main(String[] args) { 4 int [][]arr = n 阅读全文
摘要:
String类是不可变字符序列(可以查看String类的源码,会发现其实String是一个字符数组) String位于java.lang包中,Java程序默认导入java.lang包下的所有类 Java字符串就是Unicode字符序列,例如字符串"Java"就是4个Unicode字符'J'、'a'、 阅读全文
摘要:
外部类和内部类其实是2个类,先加载外部类在加载内部类 在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)匿名内部类、局部内部类。成员内部类可以用public、private、protected、default任意进行修饰。 非静态内部类(外部类里使用非静态内部类和平时使用其它类没什么不 阅读全文
摘要:
GC的作用: 1.发现无用的对象 2.回收无用对象所占的空间 那么GC如何发现对象是否无用呢? 一、引用计数法 每个对象都有一个引用计数,被引用一次,计数加1,被引用变量值变为null,则计数减1,直至到计数为0,则表示变成无用对象,优点是算法简单,缺点是循环引用的无用对象无法识别 二、引用可达法( 阅读全文
摘要:
Java虚拟机的内存可以分为三个区域:栈(Stack)、堆(Heap)、方法区(Method Area),实际上方法区也在堆里。 栈的特点: 栈描述的是方法执行的内存模型,每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等),方法执行完毕,自动释放掉 JVM为每个线程创建一个栈,用于存 阅读全文
摘要:
面向对象三大特征:继承、多态、封装 继承 1.Inherit继承:继承可以解决代码复用的问题。当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义,只需要通过extends语句来声明继承某一父类。 格式: class 子类 ext 阅读全文
摘要:
什么是抽象类,它在什么时候使用? 什么是接口?它的作用是什么? final是什么,作用是什么? 抽象类 1.当父类的一些方法不能确定是什么的时候,可以使用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]。方法只声明不实现。 2.子类要去实现其父类的抽象方法! a 阅读全文
摘要:
1. this的使用:this是属于一个对象的,而不是属于一个类的。当你创建了一个对象的时候,Java虚拟机就为每个对象都给了个this,this就指向了该对象了 this不能在外部使用,只能在类定义的部分中使用 public class Testthis{ int a,b,c; Testthis( 阅读全文
摘要:
抽象:抽出事物相似的部分,忽略它们之间的差异 1. 类(class)与对象:创建一个对象、实例化一个类、实例化对象都是同一个意思 类的首个字母大写 类的成员变量(成员属性),访问属性的一般方法:对象名.属性名; 创建对象的方法:new一个 对象总是存在内存中的,对象可以说是一个内存块 2. 1 Pe 阅读全文