美文网首页
基础2-对象-关键字

基础2-对象-关键字

作者: 通灵路耳 | 来源:发表于2020-03-27 00:18 被阅读0次

this和super注意

注意:访问构造方法时,不可同时出现super和this
解答:super和this必须都放在第一行,会冲突。

this关键字

this核心是指向“成员”,有三种用法
本类方法中,访问本类成员属性
本类方法中,访问本类其他成员方法
本类方法中,访问本类其他构造方法

public class HelloWorld {
  int a = 2;
  public void run(){
      System.out.println("呵呵");
  }
}

class zi {
    int a = 1;
    public void run2(){
        System.out.println("呵呵");
    }
    public void run(){
       int a = 2;
       //1、指向本类成员变量
        System.out.println(this.a);
       //2、指向本类其他成员方法
        this.run2();
    }
    //3、指向本类其他构造方法
    public zi(){
        this(123);
    }
    public zi(int a){
    }
}

super关键字

super核心是指向“父类”,有三种用法
1、子类方法中,访问父类属性
2、子类方法中,访问父类普通方法
3、子类方法中,访问父类构造方法

public class HelloWorld {
  int a = 2;
  public void run(){
      System.out.println("呵呵");
  }
}
//子类
class zi extends  HelloWorld{
    int a = 1;
    //子类方法中
    public void run(){
        //1、调用父类属性
        System.out.println(super.a);
        //2、调用父类普通方法
        super.run();
    }
    //3、调用父类构造方法
    public zi(){
        super();
    }
}

instanceof关键字

用在多态,判断是否可以向下转型
Animal  animal  =  new  Dog();
if(animal  instanceof  Dog){
          Dog  dog  =  (Dog)animal;
          dog.eat();
}

final关键字

final修饰变量,其值不能改变
final修饰的类,不能被继承
final修饰的方法,不能被重写覆盖

static关键字

static第一个功能,本类共享
static第二个功能,跳过实例化,直接类名调用
注意:
1、static不能和this使用
解答:static修饰的是类区域,属于所有对象;this修饰的是具体的对象
2、静态代码块,只加载一次,比构造方法先执行
3、static修饰的方法,不能被重写
解答:重写是为了实现多态,如果重写static方法,那么父类引用调用的依然是父类
的static方法,而没有调用子类的static方法,失去多态的特性

public class  HelloWorld {
    public static void main(String[] args) {
        //共享
        Student s1 = new Student("张三",12);
        System.out.println("姓名:"+s1.getName()
                +"年龄:"+s1.getAge()+"地址:"+Student.address);
        Student s2 = new Student("李四",23);
        System.out.println("姓名:"+s2.getName()
                +"年龄:"+s2.getAge()+"地址:"+Student.address);
    }
}
class Student{
    private String name;
    private int age;
    static  String address = "中国";

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

相关文章

  • 基础2-对象-关键字

    this和super注意 this关键字 super关键字 instanceof关键字 final关键字 stat...

  • java SE目录

    java SE目录 java基础(一)java基础(二)关键字面向对象(一)面向对象(二)面向对象(三)集合(一)...

  • 基础2-对象-接口

    接口:一个公共的规范标准,被interface修饰 注意: 1、JDK1.7时候,接口有:常量+抽象方法 2、JD...

  • JVM对Synchronized关键字的优化

    Java对象头和Monitor是实现synchronized关键字的基础。 对象头 对象头在内存中的布局: 对象头...

  • 第31节:Java基础-类与对象

    前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包...

  • 面向对象

    Java 语法基础 面向对象 ==面向对象有三宝:封装、继承和多态== 继承 关键字:extends 和 impl...

  • JavaScript简介

    ECMAScript 定义了这门语言的基础,包括语法、类型、语句、关键字、保留字、操作符、对象 文档对象模型DOM...

  • Java基础总结2-面向对象

    二、面向对象 1、面试对象思想: (1)概述:面向对象对相对于面向过程而言的,面向过程强调的是功能,面向对象强调的...

  • 基础2-对象-抽象类

    抽象类:被abstract关键字修饰的类,具有抽象方法的类 写法: public abstract class ...

  • Java基础知识学习笔记

    总结打卡~内容包括:Java语言基础;面向对象特性;接口和抽象类;一些关键字;多态;异常;多线程;常用对象API;...

网友评论

      本文标题:基础2-对象-关键字

      本文链接:https://www.haomeiwen.com/subject/twhkuhtx.html