关键字
1.访问限定符
1.public
1.公共的访问修饰符。
2.它的可见性是在同一个工程(project)下
3.用public限定的属性和方法可以被在同一工程下的类调用。
2.protected
1.公开性低于public的访问限定符。
2.它的可见性是在同一个包下(package)。
3.在同一个包中的类都可以调用protected限定的属性和方法。
3.默认的
1.默认的即不加任何访问限定符。
2.它与protected相似,可见性是在同一包下。
4.private
1.私有的访问限定符,私有性最高,可访问级别最低。
2.用private限定的属性和方法只能在本类中使用。
2.this与super
1.this
1.表示本类中的属性或方法。
public class A {
private String name;
//带参数的构造函数
public A(String name) {
this.name = name;
}
}
2.实例化后表示本对象的属性或方法。
3.调用其他的构造函数
public class A {
private String name;
public A(){
//调用下面的构造函数
this("调用带一个参数的构造函数");
}
//带参数的构造函数
public A(String name) {
this.name = name;
}
static void play(){
System.out.println("B在玩!");
}
}
2.super
1.调用父类的构造器或者方法。
2.用super之前必须要继承。
public class B extends A{
public B(){
super();
}
static void play(){
System.out.println("B在玩!");
}
public void study(){
System.out.println("B在学习!");
}
}
类B继承了父类A,在B中调用了父类的构造器。
注意:
1.子类继承父类后,在子类默认的构造其中调用了父类的默认构造器。
2.子类实例化对象实质上是子类调用父类的无参构造器去创建对象。
3.如果父类中没有无参数构造器,那么程序就会报错。
4
.public class B extends A{
public B(){
//super();
}
}
这些代码与上面的代码是一样的效果,也就是说子类的无参构造器中可以不写super(),因为子类已经默认写了。
3.final
1.最终的,这是用来定义常量的,也就是说它只能被赋值一次,赋值后就不能再修改它的值。
2.使用final定义的八种基本数据类型和String的属性必须初始化值。
4.static
1.静态的,一个类中的某个属性定义成为static的,那么这个属性就存储在静态区域,由该类实例化的所有对象的这个属性都指向静态区域的同一个地址。
2.某一静态属性的值被修改后,则有这个类实例化的对象的这个静态属性的值都改变了,这个值由最后赋的值决定。
3.static定义的方法可以由类名直接调用。
如:2.2.2中的代码,可以直接用类名B调用其中的静态方法play()
B.play();
4.注意点:
实例化的对象去调用该类中的静态方法时,实质上是这个类去调用这个静态方法。
如:
B b = new B();
b.play();//输出结果是"B在玩!"
上面的b.play()实质上是B.play();
5.一个对象自动转型为哪种类型,那么用该对象调用某一静态方法时,实质上是用自动转型的类去调用该类中的静态方法。
如:
A b1 = new B();
a.play();//虽然是用B去创建对象,但实质上是调用A中无参构造器去创建对象a的;这里调用的是A类中的play方法,输出结果是"A在玩!"
6.如果B类继承A类,但是A中没有静态的study方法,那么下面的代码就有错
A b2 = new B();
b2.study();//这里将会报错,使用了自动转型后,该对象不能调用子类中有而父类中没有的方法。
5.java程序执行顺序:
1.执行主程序前先装载类,装载静(static)态块
2.最先装载静态属性到静态块中。
3.在
public class D {
static String name = "BBB";
public static void main(String[] args) {
System.out.println("aaa");
}
static{
System.out.println("ddd");
}
}
该代码运行时输出结果是:
ddd
aaa
在运行该代码前会先装载静态的方法,如本例中装载过程就将"ddd"结果输出了。
static{
System.out.println("ddd");
}
分享到:
相关推荐
java中常用关键字总结
总结,`native`关键字和JNI是Java跨平台能力的重要组成部分,它们允许Java程序灵活地利用底层系统资源,但同时也增加了开发的复杂性。通过深入学习和实践,开发者可以熟练掌握这一技术,提升Java应用的扩展性和性能...
以上是Java中的主要关键字总结,每个关键字都在不同的场景下发挥着重要作用,理解并熟练掌握这些关键字对于编写高效、可靠的Java代码至关重要。对于更深入的学习,可以参考指定的博文链接或其他相关资料进行研究。
final在java中的运用,以及final的使用范围
本文将深入探讨如何在Java中使用Socket关键字进行通信,以及它与相关工具的结合使用。 一、Socket基础知识 Socket,也被称为套接字,是网络编程中的一个抽象概念,它代表了两台计算机之间的连接点。在TCP/IP协议族...
以下是对Java学习的详细总结: 一、简介 Java由James Gosling于1995年在Sun Microsystems公司开发,最初设计用于电视顶盒,但后来因其“一次编写,到处运行”(Write Once, Run Anywhere)的理念,迅速被广泛应用在...
总结起来,`super`关键字在Java中扮演着连接子类和父类的关键角色,它使得我们可以方便地调用父类的构造器、成员变量和方法。理解并合理使用`super`是学习Java多态和继承的重要部分。如果你在实际使用中遇到问题或对...
Java中final关键字的使用与注意总结主要给大家介绍了关于Java中final关键字的相关资料,对大家的学习或者使用Java具有一定的参考学习价值。下面我们将详细介绍final关键字的使用和注意点。 一、final关键字的基本...
总结一下,`final`关键字提供了不可变性,抽象类用于定义共同行为并强制子类实现某些方法,而接口则用于定义一组方法,使得类可以实现多种功能。这三个概念在Java的面向对象编程中起着至关重要的作用,帮助我们设计...
总结来说,`this`关键字主要用于引用当前对象自身,而`super`关键字则用于引用当前对象的父类对象。这两种关键字都是Java编程中非常重要的概念,正确理解并运用它们对于编写高质量的面向对象程序至关重要。
Java学习路线是一个逐步深入的过程,尤其对于初学者来说,一个清晰的计划至关重要。以下是对Java学习路线的详细解析: **第一阶段:Java基础** - **Java开发介绍**:理解DOS命令,掌握JVM(Java虚拟机)、JRE(Java...
Java学习总结是一个全面而深入的过程,它涵盖了编程基础、面向对象设计、集合框架、多线程、网络编程、I/O流、数据库操作、异常处理、反射机制、JVM优化等多个方面。以下是对这些知识点的详细阐述: 1. **Java编程...
本学习总结将深入探讨并发容器、同步容器、同步工具、死锁、异常处理、线程中断、线程池、返回结果以及同步方法等核心概念。 1. **并发容器**:Java提供了一系列的并发容器,如`ConcurrentHashMap`,它在并发环境下...
### Java 学习基本知识总结 #### Java基础入门 ##### Java语言概述 - **起源与发展**:Java由Sun Microsystems公司于1995年推出,最初由James Gosling设计。它是一种面向对象、跨平台的高级编程语言。 - **特点**...
从给出的内容片段来看,该文件“Java课程总结.pdf”包含了Java编程语言的多个核心概念和知识点。...通过对这些知识点的总结和理解,学习者可以更深入地掌握Java编程语言,并能更好地应用于实际开发工作中。
Java基础总结大全涵盖了Java编程语言的核心概念,从JVM、JRE和JDK的区别,到环境变量的设置,再到变量的定义和类型转换,深入浅出地讲解了Java的基础知识。 1. JVM、JRE和JDK: - JVM(Java Virtual Machine)是...
这是我所要学习的地方。所以下面想要总结下native。 一、认识 native 即 JNI,Java Native Interface 凡是一种语言,都希望是纯。比如解决某一个方案都喜欢单单这个语言来写即可。Java平台有个用户和本地C代码...