`
Wang_Jianxin
  • 浏览: 13059 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java关键字小结

 
阅读更多
关键字总结:   public、protected、默认、private、final、static、this、super

//**********public、protected、默认、private**********//

--public--: 公共的
      被public修饰的的变量、类、方法在同一个工程(Java Project)中都可以被引用。

     
--protected--:受保护的
      被protected修饰的变量或者类在同一个包不同类中可以被引用,跨包引用不行,不同工程亦不能被引用。


--默认--:
      方法前不声明限定符则默认为protected,但是如果父类当中有方法是被protected修饰的,子类继承父类之后,不可以用父类中被protected修饰的方法。


--private--:
      被private修饰的方法或者变量只有在同一个类中可以被调用。限定范围最小。



思考一:为什么子类重写父类方法是,方法限定的范围只许扩大,不许缩小。

        例如,父类中有一个方法是public的,但是子类继承父类之后重写父类中的这个方法把修饰限定符改为private。则在自动转型之后,声明
的对象还是一个父类类型的,但是原来有一个public的方法被子类重写为private,现在就不能调用了。所以父类的方法还反而被限制了。所以限定
的范围只许扩大不许缩小。

class Student{
//父类用一个public的方法
public void print(){
   System.out.println("父类中的方法");
}

}

class UNStudent extends Student{
//子类重写父类方法时改为private
private void print(){
  System.out.println("子类中的方法");
}
}

class Test{

public static void main(String args []){

Student stu = new UNStudent();    //自动转型为 Student类型的对象
stu.print();  //父类中的print()方法已被子类重写,已经不能被调用了
}
}






//**********this、super***********//

--this--:  代表当前对象,一般用在方法(构造方法、一般方法)里面。
例如:
class Student{
//创建对象时,如果是默认不传参,则自动匹配该类中已有的与其参数对应的的构造方法
public Student(){
  this(0,0,0,"未命名");
}

public Student(int x,int y,String name){
this.x = x;     //哪个对象调用了它,"this"就代表这个对象
this.y = y;
this.name = name;
}

private int x,y;
String name;

}

--super-- 调用父类的方法
class Student{
//父类用一个public的方法
public void print(){
   System.out.println("父类中的方法");
}

}

class UNStudent extends Student{

public void test(){
super.test();
}
}





//************************final*******************//
其实可以把final视为进化版的const

1、被final修饰的类不能被继承
2、父类中被final修饰的方法 ,在子类继承之后可以使用,但是不能被重写
3、由final修饰的变量必须赋初值,而且之后不能再被修改

//********************static**************************//

static一般修饰 变量、方法、代码块。而且一般static属性前都是public的。

一个类中含有被static修饰的变量或者方法,在这个类创建对象时,被static修饰的变量是不会被拷贝到新开辟的内存中去的,意思就是说这个变量或者方法
是被这个类创建的所有对象所“公用的”,只需要类型就可以直接调用。

执行顺序:   static属性、static块儿>>>>>主函数>>>>>方法必须调用才会执行

class A{
public A(){
System.out.print("A");
}
}
************************************

class B extends A{
public B(){
System.out.print("B");
}
}
********************************

class C{
static A a = new A();               //第一个"A"
B b = new B();

public C(){
System.out.print("C");
}

public static void main(String args[]){
C.change();
}

public static void change(){
    B b = new B();   //在b调用构造方法之前还要调用父类的构造方法     打印出"AB"
}

}


运行的结果是  AAB
分享到:
评论

相关推荐

    Java中this关键字使用小结

    在 Java 编程语言中,`this` 关键字是一个非常重要的概念,它用来引用当前对象的实例。本文将深入探讨 `this` 关键字的三种主要用途,并通过实例代码来解析其工作原理。 首先,`this` 关键字的基本含义是引用当前...

    Java的关键字与标识符小结

    "Java关键字与标识符小结" Java语言中,关键字和标识符是两个重要的概念。关键字是被Java语言赋予了特殊含义的单词,总共有50个。它们被用来定义数据类型、流程控制、访问权限修饰符、类、函数、变量修饰符、类之间...

    Java语言基础小结

    ### Java语言基础小结 #### 一、JDK, JRE, JVM的关系 - **JVM(Java Virtual Machine)**:Java虚拟机是Java程序跨平台运行的核心,它负责执行Java字节码(.class文件),确保Java程序可以在不同的平台上运行而...

    java小结

    #### 小结 通过以上内容,我们对Java的基础知识有了更深入的理解。了解这些基础知识对于编程非常重要,特别是对于初学者来说。掌握了这些概念后,你可以更好地理解和编写Java代码,同时也能避免一些常见的错误和...

    java异常小结

    在Java编程语言中,异常处理是一个关键的概念,它确保了程序在遇到错误时能够优雅地终止,而不是崩溃。本文主要总结了Java异常处理机制及其相关知识点。 首先,异常机制是Java中用于处理程序运行时错误的框架。当...

    java课程小结.rar_北京理工大学JAVA课程

    这个“java课程小结.rar_北京理工大学JAVA课程”压缩包中包含的“课程小结”文件,很可能是教授精心编写的教学精华,旨在帮助学生巩固所学知识并为后续学习打下坚实基础。 在Java课程中,有几个核心概念和技术是必...

    java异常机制小结

    Java 异常机制小结 Java 异常机制是 Java 语言中一个非常重要的方面,也是程序设计的一大难点。Java 语言在设计的当初就考虑到异常处理的框架的方案,使得所有的异常都可以用一个类型来表示,不同类型的异常对应...

    java基础小结

    《Java基础小结》 Java,作为一种广泛应用的编程语言,以其跨平台、面向对象的特点深受开发者喜爱。这篇博文和随附的PDF笔记旨在总结Java的基础知识,帮助初学者巩固理解,同时也为有经验的开发者提供回顾参考。 1...

    Java的关键字与保留字小结

    Java是一种强类型、面向对象的编程语言,它的语法中包含了关键字和保留字,这些词汇具有特殊的含义,用于构建程序的基本结构。本篇文章将详细解析Java的关键字和保留字。 首先,关键字是Java语言中预定义的,有特殊...

    java试题小结可以下载的

    【Java试题小结】 1. **Applet生命周期与方法**: - 在Java中,Applet的生命周期包括初始化、启动、绘画、停止和销毁几个阶段。`init()`方法用于初始化Applet所需资源,`paint()`方法负责在屏幕上绘制图形,如线条...

    C#与java相似点和差异小结.doc

    以下是关于这两种语言相似点和差异的小结: 1. **源文件约定**: - **C#** 允许一个源文件(.cs)中包含多个顶级公共类,文件名不必与类名相同。 - **Java** 则要求每个源文件(.java)只能有一个顶级类,且文件名...

    Java零基础-this关键字.md

    #### 小结 通过本文的学习,读者应该能够掌握`this`关键字在Java中的基本用法及其应用场景。在实际开发中灵活运用`this`关键字,不仅有助于提高代码的可读性和维护性,还能够避免因变量命名冲突带来的问题。希望...

    Java排序小结:常用的排序方法

    本篇文章将详细解析Java中常见的排序方法,结合"javaeye 收集的java排序小结"资料,旨在帮助读者理解和掌握这些排序算法。 1. 冒泡排序(Bubble Sort) 冒泡排序是最简单的排序算法之一,通过重复遍历数组,比较...

    JAVA Static关键字的用法

    小结 JAVA Static关键字的用法非常广泛,它可以用来修饰成员变量和方法。静态变量和静态方法都是整个类共享的,可以在不创建类对象的情况下访问和修改它们。了解Static关键字的用法可以帮助我们更好地理解和学习...

    Java类与对象小结

    这篇小结将深入探讨这两个关键概念,以及它们在实际编程中的应用。 首先,类是Java中的蓝图,它定义了一组特性和行为,这些特性和行为共同构成一个特定实体。类可以包含字段(或称为属性),它们代表对象的状态,...

    Java多线程小结

    ### Java多线程小结 #### 一、多线程的概念与意义 多线程是Java编程中的一个重要概念,指的是程序在运行时可以同时执行多个线程的能力。它能够提高程序的性能,尤其是在多核处理器的环境下。多线程使得程序能够更...

    Java中类的继承学习小结

    下面是对"Java中类的继承学习小结"的详细讲解。 首先,类的继承使用关键字`extends`来实现。子类(也称为派生类)声明时,会指定一个父类(或超类): ```java public class DerivedClass extends BaseClass { //...

    关于static的小结(Java内存溢出)

    在《关于static的小结(Java内存溢出)》这篇文章中,作者主要探讨了与Java中的`static`关键字相关的知识点,以及如何可能导致内存溢出的情况。下面我们将深入分析这些内容。 #### Java中的`static`关键字 `static...

Global site tag (gtag.js) - Google Analytics