final,static关键字 final 是用于修饰 类、方法、局部变量、成员变量 final 修饰类 public final class Person 特点:被final 修饰的类不能够被继承 final 修饰方法 格式: 修饰符 final 返回值类型 方法名(参数){ ? 方法体 ? 返回 ...
分类:
其他好文 时间:
2020-06-16 21:52:37
阅读次数:
60
最近发现微信群里面有些群友在讨论类的初始化顺序,如类的静态变量、成员变量、静态代码块、非静态代码块、构造器,及继承父类时,它们的初始化顺序都是怎样的,下面我通过例子来说明这个情况,以免被人误导。 示例1:测试单类的初始化顺序 程序输出: static field static block membe ...
分类:
其他好文 时间:
2020-06-16 11:30:50
阅读次数:
73
5.9 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 由于抽象 ...
分类:
编程语言 时间:
2020-06-15 17:55:56
阅读次数:
65
多继承(Multiple Inheritance)是指从多个直接基类中产生派生类的能力,多继承的派生类继承了所有父类的成员。尽管概念上非常简单,但是多个基类的相互交织可能会带来错综复杂的设计问题,命名冲突就是不可回避的一个。多继承时很容易产生命名冲突,即使我们很小心地将所有类中的成员变量和成员函数都 ...
分类:
编程语言 时间:
2020-06-15 17:45:15
阅读次数:
61
原文地址:http://www.cnblogs.com/wengzilin/p/4347974.html ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露。导致iOS对象无法按预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双 ...
分类:
其他好文 时间:
2020-06-15 13:57:38
阅读次数:
53
1、final修饰属性 final修改的类属性、实例属性能指定初始值的地方如下: ①类属性:静态初始化块中、声明属性时指定初始值; ②实例属性:非静态初始化块、声明该属性、构造器中指定初始值。 与普通成员变量不同的是,final成员变量(包括实例属性和类属性)必须由程序员显式初始化,系统不会对fin ...
分类:
其他好文 时间:
2020-06-14 20:48:27
阅读次数:
69
static修饰符的作用:是静态的意思,区分类与对象,如果在字段和方法前添加了static,那么它就属于类,否则就属于对象 (被所有的对象共享,节省空间,当没必须每个对象都存储一份的时候,可以直接使用类名调用) static内存分析 深入变量(分为成员变量跟局部变量) 成员变量:类成员变量(静态变量 ...
分类:
编程语言 时间:
2020-06-14 20:36:45
阅读次数:
72
当声明一个final成员时,必须在构造函数退出前设置它的值 final类型的成员变量的值,包括那些用final引用指向的collections的对象,是读线程安全而无需使用synchronization的 1,恶汉 线程安全 效率低 2,饱汉 线程安全 效率低 3,synchronized放到方法内 ...
分类:
其他好文 时间:
2020-06-14 20:29:54
阅读次数:
45
1.类 类是一个模板,它描述一类事物的状态和行为。 类的创建: 状态使用成员变量 行为使用成员方法 2.对象 对象是类的一个实例,有状态和行为。 例如:一只狗就是动物类的一个实例,它有状态和行为,状态:颜色,品种,名字;行为有摇尾巴,叫、吃等 3.JVM的内存划分 JVM将内存主要划分为:方法区、栈 ...
分类:
编程语言 时间:
2020-06-14 18:53:57
阅读次数:
73
在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。 需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。 package com.komiles ...
分类:
编程语言 时间:
2020-06-14 18:32:00
阅读次数:
66