final关键字: * final 修饰的方法能被继承 不能被重写 * final修饰的类不能被继承 * final 修饰的变量(基本类型)不能被修改 * final 修饰的成员变量必须初始化 局部变量一旦要使用都要初始化 * final 如果修饰的是引用,那么这个引用只能指向一个对象,也就是说这个引用不能被再次赋值 * 但是被指向的对象的属性是可以修改的 * final 一般用来定义常量 abstract 关键字: * abstract 抽象类 抽象方法 修饰类 方法 * 抽象方法只需在抽象类…
关于new关键字在虚方法动态调用中的阻断作用,也有了更明确的理论基础.在子类方法中,如果标记 new 关键字,则意味着隐藏基类实现,其实就是创建了与父类同名的另一个方法,在编译中这两个方法处于动态方法表的不同地址位置,父类方法排在前面,子类方法排在后面. namespace new的阻断作用 { public class Bird { public void ShowMsg() { Console.Write("父类方法"); } } public class chicken:Bird…
this关键字 定义 在类的方法定义中使用this关键字代表使用该方法的引用. this即"自己",代表对象本身,谁调用代表谁.在成员方法中或构造器中隐式的传递. this的两种用法 构造器中 作用:可以调用本类中的其他构造器 具体用法可参照2.2的中的代码 成员变量与局部变量 作用:当成员变量与局部变量同名时,可以采用this关键字代指当前对象的属性(即成员变量) 具体用法: public class Computer01 { public String brand; public…
作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.JAVA底层.面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 目录 Java对象究竟是什么? 创建对象的过程 创建多个对象时,内存的变化 无处不在的this和super关键字 static关键字 为何如此特殊 尾语 Java对象究竟是什么? 对象:对象是类的一个实例,有状态和行为. 类:类是一个模板,它描述一类对象的行为和状态. 例如 人 是一个类 其状态有:姓名.性别.身高.体重等 其行为:吃饭.睡觉.聊…
抽象关键字abstract 抽象类 在类前加上关键字abstract可以将此类变成抽象类.抽象类不允许通过new关键字实例化,但是可一通过其子类向上转型为其创建实例. 抽象类可以有抽象方法,也可以没有.但是有抽象方法的类一定是抽象类,这点很重要. 抽象方法 在方法前加上abstract关键字会将方法变成抽象方法.抽象方法必须被其非抽象子类子类重写,额,这样说好像有点别扭!即抽象类的非抽象类子类必须重写父类的抽象方法(父类:这是老子的规定,你必须执行).而抽象子类则可以选择不重写父类的抽象方法(抽…
在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块. Static变量 在类中用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时初始化,对于该类的所有对象来说,static成员变量只有一份. 可以通过引用或者类名访问静态成员 在类中,用static声明的成员变量为静态变量,或者叫:类属性.类变量. (注意:静态变量是从属于类…
C语言static关键字 static关键字的作用,主要从在程序的生存周期.作用域和在代码段中的位置起作用. 全局变量 静态全局变量 局部变量 静态局部量 生存周期 程序运行到结束 程序运行到结束 函数调用到函数返回 函数调用到程序结束 作用域 所有文件 只在当前文件可以访问 函数内部 函数内部 代码段中的位置 全局数据段 全局数据段 栈 全局数据段 数据段: .data:全局变量已初始化且不为0.静态变量.字符串常量. .bss :未初始化或初始化为0的全局变量 栈: 局部变量.形参等. 分析…
构造方法详解 构造器也叫做构造方法(constructor),用于对象的初始化. class Person2 { String name; int age; public Person2(String name,int age){ this.name = name; this.age = age; } 要点: 1.要通过new关键字调用 2.构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里面使用return返回某个值 3.如果我们没有定义构造器,则编译器会自动…
构造方法及其重载: /* 构造方法格式特点 * a:方法名与类名相同(大小也要与类名一致) * b:没有返回值类型,连void都没有 * c:没有具体的返回值return; * 构造方法的重载 * 重载:方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表 构造方法注意事项 * a:如果没有给出构造方法,系统将自动提供一个无参构造方法. * b:如果给出了构造方法,系统将不再提供默认的无参构造方法. * 注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出 */ class…