zoukankan      html  css  js  c++  java
  • java中的修饰符总结

    类修饰符

    public 访问控制符,将一个类声明为公共的,可以被外界访问,一个程序的主类必须是公共的,且只能有一个.
    abstract 将一个类声明为抽象类,类里的方法是抽象方法,没有方法体,需要子类继承以后去实现
    final 将一个类被声明为最终的,不能被其他类继承**

    成员变量修饰符

    public 修饰变量是公共的,可以被任何对象访问,
    private 私有访问控制符,指定变量只能让自己的类中的方法进行访问,其他任何类中的方法都不可以直接访问
    protected 保护访问控制符,指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量
    final 最终修饰符,指定此变量的值不能变。用其修饰后成为常量
    static 静态修饰符,指定变量被所有对象共享,全局唯一,变量属于这个类.直接被类名调用,

    方法修饰符

    public 公共控制符,可以被任何的对象访问
    private 私有控制符,指定此方法只能在本类中进行访问调用,其他的类不能访问,包括子类
    protected 保护控制符,指定该方法可以被它和它的子类进行访问,其他的不可以访问
    final 方法被final修饰以后,,能被继承,但是不可以被重写,可以重载
    static static修饰方法之后,不需要实例化对象就可以直接用类名进行调用

    疑问:

    1 一个方法的声明中哪些修饰符是可以同时存在的?哪些是不可以同时存在的?原因是什么?

    private abstract  void say() ;//报错
    private:被私有化后,子类无法重写,与abstract相违背。
    
    public static final void say() {
    		System.out.println("say");
    	}//这是一个静态的最终的方法,不可以被重写的哦
    static 和 final 可以同时存在的哦
    
    public abstract static final void say();
    public abstract static  void say();
    public abstract  final void say();
    但是 abstract 和 static , abstract 和 final 就不可以同时存在的
      
    

    原因: 一个方法被 abstract 修饰以后,这个方法坐在的类就是一个一个抽象类,而抽象类通过子类去实现,需要发生继承,然后去重写抽象方法,但是,被 final 修饰的方法是可以继承的,但是不能重写,只是在本类中可以进行重载. 同样被 static 修饰的方法,可以被继承 ,但是不能被重写.也可以重载.

    2 方法中访问控制符在重写的时候需要注意什么?

    ​ 被重写的方法的访问权限必须大于等于父类方法的访问权限.

    3 方法的重载和方法的返回值类型没有关系,只和参数列表有关系.

    	public  void say() {
    		System.out.println("say");
    	};
    	public  int say(int a ) {
    		return a;
    	}
    	public  int say(int a,int b ) {
    		return a;
    	}//参数个数不同
    	public  String say(String str ) {
    		return str;
    	}//参数类型不同
    	public  int say(int a,String b ) {
    		return a;
    	}
    	public  String say(String str,int b ) {		
    		return str;
    	}//参数顺序不同
    
  • 相关阅读:
    23种设计模式-----行为模式
    23种设计模式-----创建型模式、结构型模式
    字节码操作、javassist使用
    反射机制(reflection)
    NFC手机
    NFC简介
    不同技术的过滤条件的定义
    [linux] ubuntu系统tips
    图算法(一)
    跳跃表skiplist
  • 原文地址:https://www.cnblogs.com/liqbk/p/12889506.html
Copyright © 2011-2022 走看看