广告
返回顶部
首页 > 资讯 > 精选 >Java中有哪些常用修饰符
  • 876
分享到

Java中有哪些常用修饰符

2023-06-15 08:06:48 876人浏览 八月长安
摘要

本篇文章为大家展示了Java中有哪些常用修饰符,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、abstract 抽象的抽象类:被abstract 修饰的类语法: abstrac

本篇文章为大家展示了Java中有哪些常用修饰符,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

一、abstract 抽象的

抽象类:被abstract 修饰的类语法: abstract class  类名{}抽象方法 : 被abstract 修饰的方法定义语法:    访问修饰符  abstract 返回值类型 方法名(参数列表);abstract 访问修饰符   返回值类型 方法名(参数列表);特点:1.当一个类中存在抽象方法 那么这个类也必须是抽象的2.一个抽象类中可以有抽象方法也可以有非抽象方法3.如果一个类继承了抽象类,这个类如果不想成为抽象类,那么这个类必须实现抽象类中的所有抽象方法4.抽象类不能创建对象,但是可以声明引用,抽象类的对象是存在的,是由子类创建子类对象时调用父类构造方法创建的,是无法自己手动去new 抽象类的对象的抽象类的好处:强制使用多态案例:public class Demo{    public static void main(String[] args) {               }    }abstract class Animal{    //抽象方法    public abstract void eat();    public abstract  void sleep();    public void m1() {        System.out.println("m1");            }}class Dog extends Animal{    public  void eat(){        System.out.println("狗吃屎");            }    public  void sleep(){        System.out.println("狗睡");    }}案例:public class Demo{    public static void main(String[] args) {        Animal a = new Dog();      }    }abstract class Animal{    public  Animal() {        System.out.println("动物类的构造被调用 创建了 对象");            }            //抽象方法    abstract public  void eat();    public abstract  void sleep();    public void m1() {        System.out.println("m1");            }}class Dog extends Animal{    public  void eat(){        System.out.println("狗吃屎");            }    public  void sleep(){        System.out.println("狗睡");    }}

二、static 静态的

static修饰成员变量:类变量 静态变量 静态属性定义语法:访问修饰符  static   数据类型  变量名 = 变量值;static   访问修饰符     数据类型  变量名 = 变量值;访问的方式(特点)1.类变量可以用 类名.属性名 访问2.可以通过创建对象 用引用去访问 (不推荐)案例:public class Demo{    public static void main(String[] args) {        Test t1 = new Test();        Test t2 = new Test();        t1.a++;        t1.b++;        System.out.println(t2.a);//10        System.out.println(t2.b);//21                    }      }class Test{   int a = 10;//实例变量   static int b = 20;//类变量 }案例2:public class Demo{    public static void main(String[] args) {                System.out.println(Test.b);//20       }      }class Test{   int a = 10;//实例变量   static int b = 20;//类变量 }
static修饰成员方法: 静态方法语法:访问修饰符  static  返回值类型  方法名(形参列表){方法的实现;}static 访问修饰符    返回值类型  方法名(形参列表){方法的实现;}特点:1.静态的方法中 不可以直接访问非静态的成员(成员变量 和  成员方法)2.如果要访问非静态的成员  必须创建对象 通过引用取访问3.静态方法可以通过 类名.方法名() 访问  也可以通过引用去访问(不建议)4.静态的方法可以被继承   静态的方法不能被非静态的方法所覆盖 只能被静态方法覆盖  但是没有多态(引用是什么类型 调用的方法就是这个类型中的方法)5.在静态方法中是不可以使用 this 和 super 关键字  因为 this 和 super都是和对象有关的  而静态的成员和对象无关 先于对象存在案例:关于静态方法 访问非静态的成员public class Demo{    public static void main(String[] args) {                //System.out.println(Test.b);//20                            }      }class Test{    int a = 10;//实例变量    static int b = 20;//类变量        //静态方法    public  static void m1() {        m2();        //System.out.println(a);    }    //成员方法    public void m2() {            }}案例:关于 静态方法的使用  和  通过引用去访问非静态的成员public class Demo{    public static void main(String[] args) {                //Test.m1();        Test t = new Test();        t.m1();            }      }class Test{    int a = 10;//实例变量    static int b = 20;//类变量        //静态方法    public  static void m1() {        Test t = new Test();        System.out.println(t.a);        t.m2();     }    //成员方法    public void m2() {        System.out.println("m2");    }}案例:关于 静态方法被继承public class Demo{    public static void main(String[] args) {                Dog.eat();                   }      }//定义动物类class Animal{    public static  void eat() {        System.out.println("动物吃");            }}class Dog extends Animal{    }案例:关于 静态方法中是否能使用 this 和 super  public class Demo{    public static void main(String[] args) {                //Dog.eat();                       Dog.eat();    }      }//定义动物类class Animal{    String sex = "狗妖";    public static  void eat() {        System.out.println("动物吃");            }}class Dog extends Animal{            String sex = "母";//成员变量    public static void eat() {        String sex = "公"; //局部变量        System.out.println(super.sex);                            }            }
初始代码块:定义在类中 方法外 用于在创建对象时 和 成员变量 按照从上向下的顺序执行初始化的操作 也叫做 动态代码块语法:{初始化代码块 }案例:public class Demo{    public static void main(String[] args) {        Test t = new Test();        System.out.println(t.a);        System.out.println(t.b);        System.out.println(t.c);            }      }class Test{    int a = 10;    int c;    int b;    {//初始化属性的        c = 30;        b = 20;    }}static 修饰初始化代码块:静态代码块静态代码块的作用:在类加载时 和静态的属性 按照顺序执行 为类进行初始化操作语法:static{        } 案例:public class Demo{    public static void main(String[] args) {        System.out.println(Test.a);        System.out.println(Test.b);                    }      }class Test{    static int a = 20;    static{        b = 40;    }    static int b;    }注意:静态变量 时有默认值  先进行赋默认值 再初始化==================================================================类加载:当JVM第一次使用一个类时 需要通过classpath 找到.class = 字节码文件 读入这个类中的信息(包名  类名   属性   方法  静态的变量   静态的方法 。。。)并保存在虚拟机中  类加载只进行一次类加载的时机:1.创建对象时2.类名访问静态成员(静态属性  静态方法)3.子类进行类加载时 会先进行父类的类加载案例:关于 1和2 两种情况类加载public class Demo{    public static void main(String[] args) {        //1.创建对象        //Test t = new Test();        //2. 访问静态的成员        System.out.println(Test.a);                          }      }class Test{    static int a = 20;    static{        System.out.println("父类 类加载了");            }}案例:关于 3 情况的类加载public class Demo{    public static void main(String[] args) {               //创建子类的对象        //Sub s = new Sub();        System.out.println(Sub.b);     }    }class Test{    static int a = 20;    static{        System.out.println("父类 类加载了");            }}class Sub extends Test{    static int b = 30;    static{        System.out.println("子类进行类加载了");            }}

三、final 最终的

修饰变量

局部变量:final修饰的局部变量只能赋值一次 值一旦赋值不可以改变常量的定义: public static final double PI = 3.14159265457;案例:public class Demo{    public static void main(String[] args) {        int a = 20;//局部变量        final int b = 10;         a++;        b++;        System.out.println(a);        System.out.println(b);            }   }public class Demo{    public static void main(String[] args) {        final int a ;//声明        a = 10;        a = 20;//报错        System.out.println(a);            }   }实例变量特点:1.final修饰的实例变量没有默认值2.final修饰的实例变量只能赋值一次3.final修饰的实例变量可以在构造方法中初始化 但是要保证每个构造都必须能够为这个变量初始化案例:public class Demo{    public static void main(String[] args) {        Animal a = new Animal(250);        //System.out.println(a.a);//0        System.out.println(a.b);                            }   }class Animal{        int a;    final int b = 20;    public  Animal(int b) {        this.b = b;    }  }public class Demo{    public static void main(String[] args) {        Animal a = new Animal(250);        //System.out.println(a.a);//0        System.out.println(a.b);                            }   }class Animal{        int a;    final int b ;    public  Animal(int b) {        this.b = b;    }    public  Animal() {        b = 30;    }  }类变量特点:1.final修饰的类变量没有默认值2.final修饰的类变量可以通过静态代码块进行初始化案例:public class Demo{    public static void main(String[] args) {        System.out.println(Animal.a);        System.out.println(Animal.b);                            }   }class Animal{    static int a ;    final static int b ;    static{        b = 250;    }        }

修饰方法

成员方法:特点:1.final修饰的成员方法可以重载2.final修饰的成员方法不可以被覆盖语法:public final void m1() {        }final public  void m1() {        }案例:public class Demo{    public static void main(String[] args) {                                   }   }class Animal{        public   void m1() {        System.out.println("m1");            }}class Dog extends Animal{    public  final void m1() {        System.out.println();            }        }静态方法:特点:1.final修饰的静态方法可以重载2.final修饰的静态方法不可以被覆盖案例:public class Demo{    public static void main(String[] args) {               }   }class Animal{        public final static  void m1() {        System.out.println("m1");            }    public final static void m1(int a) {        System.out.println("m1");            }}class Dog extends Animal{        }

修饰类

语法:final class Animal{}特点:final修饰的类没有子类 俗称断子绝孙类jdk的类库中有哪些final修饰的类?String  Math  System 案例:public class Demo{    public static void main(String[] args) {          }   }class Dog extends System{    }

四、关于修饰符混搭的原则

class Animal{

public final static  void m1() {    System.out.println("m1");    }public final static void m1(int a) {    System.out.println("m1");    }

}

class Dog extends Animal{

}

##### 修饰类```java语法:final class Animal{}特点:final修饰的类没有子类 俗称断子绝孙类jdk的类库中有哪些final修饰的类?String  Math  System 案例:public class Demo{    public static void main(String[] args) {          }   }class Dog extends System{    }

五、关于修饰符混搭的原则

Java中有哪些常用修饰符

Java中有哪些常用修饰符

上述内容就是Java中有哪些常用修饰符,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: Java中有哪些常用修饰符

本文链接: https://www.lsjlt.com/news/278906.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中有哪些常用修饰符
    本篇文章为大家展示了Java中有哪些常用修饰符,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、abstract 抽象的抽象类:被abstract 修饰的类语法: abstrac...
    99+
    2023-06-15
  • java修饰符有哪些
    java中的修饰符有:1.abstract,修饰类和方法;2.static,修饰成员变量和成员方法;3.final,修饰类、变量和方法;java中的修饰符有以下几种abstractjava中abstract修饰符的作用是用于修饰类和方法,修...
    99+
    2022-10-05
  • vue中常用的修饰符有哪些
    vue中常用的修饰符有:lazy,在光标离开input框才更新数据。trim,输入框过滤首尾的空格。number,限制输入只能是数字。stop,阻止事件冒泡。prevent,阻止默认行为。self,只有点击元素本身才会触发。once,让事件...
    99+
    2022-10-20
  • Java的修饰符有哪些
    小编给大家分享一下Java的修饰符有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java 修饰符Java语言提供了很多修饰符,主要分为两类:访问修饰符,非访...
    99+
    2023-06-02
  • java访问修饰符有哪些
    java中的访问修饰符有:1.public,没有指定成员访问的修饰符;2.protec,只允许指定成员的进行访问的修饰符;3.default,不加任何访问限制的修饰符;4.private,只允私有成员进行访问的修饰符;java中的访问修饰符...
    99+
    2022-10-10
  • Java中有哪些修饰符关键词
    这篇文章给大家介绍Java中有哪些修饰符关键词,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java修饰符是你添加到变量、类和方法以改变其含义的关键词。它们可分为两组:访问控制修饰符非访问修饰符让我们先来看看访问控制修...
    99+
    2023-06-17
  • C#修饰符有哪些
    这篇文章主要介绍“C#修饰符有哪些”,在日常操作中,相信很多人在C#修饰符有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#修饰符有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!本文向大家介绍C...
    99+
    2023-06-17
  • java的非访问修饰符有哪些?
    Java提供了许多非访问修饰符来实现许多其他功能。static修饰符用于创建类方法和变量。 (推荐学习:java课程)final修饰符用于完成类,方法和变量的实现。abstract修饰符用于创建抽象类和方...
    99+
    2018-05-16
    java教程 java
  • vue中有哪些事件修饰符
    vue中常见的事件修饰符有:1.stop修饰符,阻止事件向上级DOM元素传递;2.once修饰符,设置事件只能触发一次;3.prevent修饰符,阻止默认事件的发生;4.self修饰符,将事件绑定到自身,只有自身才能触发;vue中常见的事件...
    99+
    2022-10-16
  • C#中有哪些访问修饰符
    本篇文章为大家展示了C#中有哪些访问修饰符,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C#访问修饰符C#访问修饰符与 Java 大致相同,我们将在这一部分介绍其中的一些细微差别。每个类成员或类本身...
    99+
    2023-06-17
  • java权限修饰符的种类有哪些
    Java权限修饰符有四种,分别是: public:公共的,可以被任何其他类访问。 private:私有的,只能在定义该变量或方法的...
    99+
    2023-10-25
    java
  • Scala访问修饰符有哪些
    本篇内容介绍了“Scala访问修饰符有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Scala 访问修饰符基本和Java的一样,分别有:...
    99+
    2023-06-19
  • vue表单修饰符有哪些
    vue中的表单修饰符有:1.lazy,将输入框的值与数据转变在change事件中同步;2.number,将输入框内的字符串转换成数字;3.trim,将输入框内中前后的空格去掉;vue中的表单修饰符有以下几种lazy修饰符vue中lazy修饰...
    99+
    2022-10-22
  • java项目中修饰符的访问权限有哪些
    这篇文章给大家介绍java项目中修饰符的访问权限有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带...
    99+
    2023-05-31
    java 修饰符 访问权限
  • Vue修饰符的问题有哪些
    本文小编为大家详细介绍“Vue修饰符的问题有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue修饰符的问题有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.lazy...
    99+
    2022-10-19
  • PHP中权限控制修饰符有哪些
    PHP中的权限控制修饰符有public、protected和private三种publicPHP中public修饰符是指没有指定成员访问的修饰符,是共有的、权限范围最大的修饰符,PHP中默认的访问权限为public。protectedPHP...
    99+
    2022-10-09
  • Vue修饰符有哪些及怎么使用
    这篇文章主要介绍了Vue修饰符有哪些及怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue修饰符有哪些及怎么使用文章都会有所收获,下面我们一起来看看吧。1.lazyla...
    99+
    2022-10-19
  • SQLServer中有哪些比较运算符修饰词
    这期内容当中小编将会给大家带来有关SQLServer中有哪些比较运算符修饰词,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。SQLServer中有三个关键字可以修改比较运算...
    99+
    2022-10-18
  • java接口的修饰符可以是哪些
    java接口的修饰符可以是:1、public,接口可以被任何代码访问;2、abstract,接口本身是抽象的,需要在实现接口的类中进行具体实现;3、default,可以在接口中提供一个默认的实现,实现类可以选择是否覆盖该方法;4、stati...
    99+
    2023-07-10
  • 在java中使用修饰符需要注意哪些问题
    这篇文章给大家介绍在java中使用修饰符需要注意哪些问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于Java的实现了Web MVC...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作