public、protected、private、默认
均可修饰方法、属性、
protected不可以修饰类
1.public:使用范围最广,可以在其他包(package)内,调用这个类的public方法和属性或者继承;继承中,子类重写父类的public方法,范围不能小于public。
2.protected:同一个包内可以使用;子类可以继承(不同包的子类也可以继承)。若不是子类,则在其他包内,不能使用。
3.private:只能在这个类内部使用;父类中的private方法和属性不能被子类继承。
4.默认:只能在同一个包中使用。
四者范围:public>protected>默认>private
static:所有对象共用一块内存,直接用类名调用。因为,在类模板里,所有对象共用static的内容,所以,不需要区分对象。调用方法:类名.属性
1.static属性
2.static方法
3.static{}:先加载类,再执行static{}(可初始化数据),再执行main。
如下代码,若有多个static属性和static{},则按顺序执行,执行完后,再执行main函数。当创建子类对象时,先创建父类,调用父类的的构造函数,再调用子类的构造函数。
public class Person {
static Persona p = new Persona();
static B b = new B();
static {
System.out.println("执行了static{}");
}
public static void main(String args[]) {
System.out.println("执行了main{}");
Person.fan();
}
public static void fan() {
B b1 = new B();
}
}
public class Persona {
public Persona(){
System.out.println("Persona");
}
}
public class B extends Persona{
public B(){
System.out.println("B");
}
}
this、super : 在使用前都不需要声明。
this指向当前使用对象。
1.区分相同的变量。
2.System.out.println(this);
打印对象时,自动调用默认的toString()(object的方法)。
3.this(参数表),这个构造函数调用同一个类的另一个相对应的构造函数。
super直接指向父类的构造函数,用来引用父类中的变量和方法。
1.当子类重写父类的方法后,子类的方法覆盖了父类的方法。所以用super.方法,来调用父类的方法。
2.使用父类的构造函数:super(参数列表)。
final:表示无法改变,与C++的const作用应该是一样的。
目前,大部分用于内部类使用的变量,至于,修饰方法和类,自己用得很少。
final方法:方法不需要扩展,也不允许他的子类重写此方法。
fianl类:无法被任何类继承。
分享到:
相关推荐
要实现这个功能,我们需要以下几个关键知识点: 1. **Java GUI(图形用户界面)**:项目中使用GUI来创建记事本界面,这通常涉及到Java的Swing或JavaFX库。例如,`JFrame`用于创建窗口,`JTextArea`用于显示和编辑...
面向对象部分让人搞晕的几个关键字,我这里专门针对这几个关键字进行了整理相关的面试题,只要你能做对80%,就证明你面向对象基本学懂了
本文档系统列举了Java的关键字及其用法分类,总共分为以下几个类别:访问控制、类、变量修饰符、流程控制、数据类型、异常处理、包和变量引用、运算符等。 访问控制 * public:公共的,所有类都可以访问。 * ...
Java 中的 static 关键字 Java 中的 static 关键字是用于声明类的成员变量和成员方法的,它可以使得变量和方法属于类本身,而不属于某个对象。静态变量也称为类变量,静态方法也称为类方法。静态变量和静态方法可以...
在Java编程语言中,`super`关键字是一个非常重要的概念,它用于引用当前对象的父类。`super`关键字主要用于以下几种情况:调用父类的构造器、访问父类的成员变量以及调用父类的非私有方法。下面我们将详细探讨`super...
方法名和变量名的首字母小写,如果方法名或变量名由几个单词构成,那么除了第一个单词外,其余每个单词的首字母大写,其余字母小写。 在 Java 编程中,标识符的命名规则是必须遵守的,否则会导致编译错误。而编程...
`volatile`最适合用于以下几个场景: 1. 当一个变量只被一个线程修改,但被多个线程共享,且修改操作不依赖当前值。 2. 当一个变量被用来作为状态标记,表明某个计算已完成或者线程应停止等待。 3. 当多个线程需要...
Java 中的 static 关键字是一个非常重要的概念,它可以用来定义静态方法、静态变量和静态块。在 Java 中,静态方法通常在一个类中定义,它们可以在不创建类对象的情况下被调用。静态方法有以下几条限制: 1. 它们仅...
本文将深入解析几个关键的Java关键字及其用法。 首先,`instanceof`关键字用于判断一个对象是否属于某个类、接口或其子类/实现类。它的基本形式是`boolean result = obj instanceof Class`。需要注意的是,`obj`...
下面我们将深入探讨`this`关键字的几个主要用法。 1. **成员变量的访问** 当类中的局部变量和成员变量名称相同时,`this`关键字用于区分它们。例如: ```java public class Student { String name; // 成员变量...
关键字高亮通常涉及到以下几个核心概念: 1. **颜色主题**:在Java Swing中,你可以通过自定义颜色主题来改变关键字的颜色。这可以通过创建并应用LAF(Look and Feel)实现,LAF允许开发者改变组件的视觉样式。 2....
总结来说,`volatile`关键字是Java并发编程中一个非常重要的概念。它不仅解决了多线程环境下的可见性问题,还能够在一定程度上保证有序性。然而,它并不保证复合操作的原子性,因此在设计并发程序时,还需要根据具体...
在Java编程语言中,`transient`关键字与对象的序列化(serialization)机制密切相关,它在处理对象状态的持久化时扮演着关键角色。本文将深入探讨`transient`关键字的功能、用途以及它如何影响Java对象的序列化过程。 ...
Java静态static关键字是Java语言中一个非常重要的概念,它可以修饰成员变量和成员方法,使其具有特殊的特性。在本文中,我们将详细介绍Java静态static关键字的原理和应用。 一、静态变量 静态变量是指使用static...
在Java编程语言中,`this`关键字是一个非常重要的概念,它代表当前对象的引用。在类的构造方法中,`this`关键字可以用来调用同一类中的其他重载构造方法,以便于代码的复用和简化。这个特性使得开发者能够更高效地...
Java 编程语言中,关键字和标识符是两个非常重要的概念,它们在编程中扮演着不同的角色。关键字是 Java 语言中预定义的单词,它们具有特殊的含义和用途,而标识符则是开发者自行定义的字符序列,用来命名变量、方法...
Java 线程 volatile 关键字详解 Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。volatile 变量的同步性较差,但它有时更简单并且开销更低。volatile 变量可以被看作是一种 “程度较轻的 ...
本文将详细介绍Java中static关键字的用法,包括静态变量、静态方法和静态代码块等几个方面。 静态方法 静态方法是指在一个类中定义的方法,并且使用static关键字修饰的方法。这种方法可以在不创建类的实例的情况下...
1. 用于定义数据类型的关键字:包括class、interface、byte、short、int、long、float、double、char、boolean和void等11个关键字。 2. 用于定义流程控制的关键字:包括if、else、switch、case、default、while、do...
在Java编程语言中,`this`关键字是一个非常关键的概念,它代表了当前对象的引用。...通过以上几个方面,我们可以看到`this`在不同场景下的应用,希望这些示例能帮助你更好地理解`this`关键字在Java中的作用。