zoukankan      html  css  js  c++  java
  • 浅析java修饰符之public default protected private static final abstract

    浅析java修饰符之public default protected private static final abstract

    一   修饰符的作用:用来定义类、方法或者变量,通常放在语句的最前端

    二   分类(大致分两类)

    1.访问修饰符,包括:public default protected private

    2.非访问修饰符,包括:static final abstract

    三 访问修饰符——Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。

    1.public:共有的,对所有类可见

    2.default:默认的,在同一包内可见,不使用任何修饰符。

    3.protected:受保护的,对同一包内的类和所有子类可

    4.private:私有的,在同一类内可见

    5.访问控制和继承——请注意以下方法继承的规则:

    • 父类中声明为 public 的方法在子类中也必须为 public。

    • 父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。

    • 父类中声明为 private 的方法,不能够被继承。

    package bokeyuan;
    /*同包同类*/
    public class Modifier_test1 {
        public String name="hero";  //public
        protected int num=188;   // protected
               boolean result=true;    //default默认
        private String country="china";  //private
        
        public void getName(){
            System.out.println(name);
        };
        protected void getNum(){
            System.out.println(num);
        };
        public void getResult(){
            System.out.println(result);
        };
        private void getCountry(){
            System.out.println(country);
        };
        
        public static void main(String[] args) {
            Modifier_test1 superdemo=new Modifier_test1();
            superdemo.getName();  //输出 hero
            superdemo.getNum();   //输出 188
            superdemo.getResult();  //输出  true
            superdemo.getCountry();  //输出china
            
        }
    
    }
    package bokeyuan;
    /*同包不同类*/
    public class Modifier_test2 {
    
        public static void main(String[] args) {
            Modifier_test1 superdemo=new Modifier_test1();
            superdemo.getName();  //输出 hero
            superdemo.getNum();   //输出 h188
            superdemo.getResult();  //输出  true
            superdemo.getCountry();  //error
        }
    
    }
    package bokeyuan1;
    /*不同包*/
    import bokeyuan.Modifier_test1;
    
    public class Modifier_test3  {
        
        public static void main(String[] args) {
            Modifier_test1 superdemo=new Modifier_test1();;
            superdemo.getName();  //输出 hero
            superdemo.getNum();   //error
            superdemo.getResult();  //输出  true
            superdemo.getCountry();  //error
        }
    
    }

    四   非访问修饰符

    1.static 修饰符,用来创建类方法和类变量

    a.当static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量

    b.当static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据  

    2.final 修饰符,用来修饰类、方法和变量。

    a.final 修饰的类不能够被继承;

    b.修饰的方法可以被子类继承,但是不能被子类修改;

    c.修饰的变量为常量,是不可修改的。

    3.abstract 修饰符,用来创建抽象类和抽象方法。

    a.被abstract 修饰的类叫抽象类,用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充

    b.被abstract 修饰的方法叫抽象方法,抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供

    c.果一个类包含若干个抽象方法,那么该类必须声明为抽象类。抽象类可以不包含抽象方法

    4.synchronized 和 volatile 修饰符,主要用于线程的编程

  • 相关阅读:
    SD卡测试
    测试人员可能会遇到的问题
    HDU 1024 Max Sum Plus Plus
    HDU 1176 免费馅饼
    HDU 1257 最少拦截系统
    HDU 1087 Super Jumping! Jumping! Jumping!
    poj 1328 Radar Installation
    poj 1753 Flip Game
    HDU 1003 Max Sum
    HDU 5592 ZYB's Premutation(BestCoder Round #65 C)
  • 原文地址:https://www.cnblogs.com/wobuchifanqie/p/6627579.html
Copyright © 2011-2022 走看看