Java基础 复习

  • java未指定关键字则默认为friendly
  • 继承关键字 extends
  • 除了final,static,private和构造方法是前期绑定外,其他的方法全部为动态绑定
  • 由于垃圾清理器,java存在不连贯的因素

保存位置

  • 堆栈
    • 特别快,特别有效,创建程序时,Java编译器必须准确知道堆栈中内存保存的所有数据的“长度”及“存在时间”。这是由于它必须生成相应的代码,以便向上和向下移动指针。
    • 编译器不需要知道要从堆里分配多少存储空间,也不必知道存储的数据要再堆里停留多长的时间。<font color=blue>在堆里分配存储空间会花费更多时间</font>

数值类型

  • 数值全都是有符号的
  • 主数据类型也拥有自己的“封装器Wrapper”类
  • BigInteger和BigDecimal可用于高精度的计算,大致可划分为Wrapper类型,但都没有对应的“主类型”。对int和float做的事情对它们也一样可以做,但是必须使用方法调用而不能使用运算符。

数组

  • 在创建数组时实际上创建的是一个句柄数组,且每个句柄都会自动化初始化为一个特殊值,并带有自己的关键字null

定义一个类

定义一个类时,数据成员若是指向对象的一个句柄则必须用“构建器”初始化句柄,若是主类型则可以直接在类定义位置直接初始化。

编码格式

  • 类名每个字母开头都重要大写,单词紧靠在一起,方法、字段、对象句柄名称则都开头小写,其他单词大写开头

赋值符号

<font color=red>若为主类型之间的相互赋值则是直接复制值,A=B,B的值改变后对A不会有影响,但如果是对象之间的赋值,实质上是句柄的赋值,A=B,若B的值改变则A的值也会改变,因为实际上是句柄指向的对象的值改变了。</font>

  • ==和!=对对象来说比较的是句柄

转型

  • 数值计算时,只要它们比"int"小,就会都转为int。通常表达式中最大的数据类型决定了表达式最终结果大小的那个类型。

所有数据类型在所有机器上的大小都是相通的。

  • <font color=red>Java不允许将数字作为一个boolean值使用</font>

  • <font color=red>for里面可以定义多个变量,但是它们的类型必须相同</font>

标签

label1:
{//外循环
{//...内循环
break;
//...
continue;
//...
continue label1;//3
//...
break label1;//4
}
}
/**
 *3是同时中断内外部循环,跳转到label1处从外循环继续循环;4  是同时中断内外部循环,跳转到label1处直接跳过循环往下。
 *这个对while也同样适用
*/
  • switch语句的选择因子必须是int或char这样的整数值
  • 局部变量不会被自动初始化,但是类变量的基本类型会有默认初始值。
  • static field 初始化
    • object第一次被创建
    • 直接使用class中的static method或直接访问static member

函数重载

  • 如果Java基础类有一个方法名被“过载”过很多次,在衍生类里对那个方法名的重新定义就不会隐藏任何基础类的版本。所以无论这一方法在这一级还是在一个基础类中定义,过载都会生效;

final修饰符

  • final会将值直接变为一个常数;但对于对象句柄,final会将句柄变为一个常数,然而对象本身是可以修改的。

    • 好处
      • 为方法上锁,防止任何即成类改变它的本来含义。
      • 提高执行效率,讲一个方法设为final后,编译器就可以把对那个方法的所有调用都置入“嵌入”调用里。
      • 类内所有private方法都自动成为final。
  • super和this调用构造函数,都必须写在第一行,否则会报错

初始化顺序

  1. 基类静态代码块,基类静态成员字段(并列优先级,按代码中出现先后顺序执行)(只有第一次加载类时执行)
  2. 派生类静态代码块,派生类静态成员字段(并列优先级,按代码中出现先后顺序执行)(只有第一次加载类时执行)
  3. 基类普通代码块,基类普通成员字段(并列优先级,按代码中出现的先后顺序执行)
  4. 基类构造函数
  5. 派生类普通代码块,派生类普通成员字段(并列优先级,按代码中出现的先后顺序执行)
  6. 派生类构造函数
  • java中绑定的所有方法都采用后期绑定的方式,除非一个方法已被申明为final

接口

  • 接口可看作一个纯抽象类,允许规定一个类的基本形式:方法名、自变量列表以及返回类型,但不规定方法主体。接口也包含了基本数据类型的数据成员,但它们都默认为static和final
  • 接口的所有成员变量都是public

内部类

为生成一个内部类的对象,必须利用外部类的一个对象来生成一个内部类的对象

Parcel 11.Contents c=p.new Contents();
  • 但如果是生成一个static内部类,就不需要指向外部类对象的一个句柄。
  • 只继承外部类的话是不能覆盖内部类的,除非内部类也明确进行了继承,则内部类的方法也都会被覆盖

数组

  • 创建一个数组对象时,它的大小是固定的,而且不可在那个数组对象的“存在时间”内发生变化。

  • 数组能够容纳的是一种类型已知的对象,能够容纳基本数据类型,但一旦创建好以后,大小就不能改变了。

  • vector容纳对象的句柄,所以不能容纳基本数据类型,将一个对象句柄从集合中取出来的时候,必须对结果进行造型处理。

finally

  • 若调用了continue和break,finally语句也会得以执行

克隆

  • vector的clone()方法可以制作出一个副本而不会改变原对象

散列

  • 将键保存在某处,以便查询能够很快找到。存储一组元素最快的数据结构是数组,所以用它来表示键的信息,数据并不保存键本身。而是通过键对象生成一个数字,将其作为数组的下标,这个数字就是散列码。

对象序列化

  • java的对象序列化讲那些实现了Serializable接口的对象转换为一个字节序列,并能够在以后将这个字节序列完全恢复为原来的对象。实现轻量持久性,“持久性”意味着一个对象的生存周期并不取决于程序是否正在执行,它可以生存于程序的调用之间
  • 若我们正在操作一个序列化的对象,可以用transient关键字逐个字段的关闭序列化

注解

  • 注解的元素在使用时表现为名-值对的形式

反射

  • 获取Class实例的方式
    • 1.通过一个class的静态变量class获取:Class cls = String.class
    • 2.如果有一个实例变量,可以通过该实例变量提供的getClass()方法获取:String s = "Hello"; Class cls = s.getClass();
    • 3.如果知道一个class的完整类名,可以通过静态方法Class.forName()获取:Class cls = Class.forName("java.lang.String");
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容