当前位置: 首页 > news >正文

网站建设手稿长沙网站定制公司

网站建设手稿,长沙网站定制公司,已有备案网站增加域名,公司注册网站怎么做Java修饰符 Java的修饰符有哪几种 Java的修饰符有以下几种: 访问修饰符:public、protected、private和默认访问修饰符。 非访问修饰符:final、abstract、static、synchronized、volatile、transient、native、strictfp和Deprecated。 什么…

Java修饰符

Java的修饰符有哪几种

Java的修饰符有以下几种:

  1. 访问修饰符:public、protected、private和默认访问修饰符。
  1. 非访问修饰符:final、abstract、static、synchronized、volatile、transient、native、strictfp和@Deprecated。

什么是访问修饰符?

访问修饰符是指用于限定类、变量、方法等在其他类中的可见性的关键字,包括public、protected、private和默认访问修饰符(即不写访问修饰符时的默认访问级别)。访问修饰符的作用是控制类成员的访问权限,实现封装和信息隐藏,从而保证程序的安全性和可维护性。

那什么是非访问修饰符?

非访问修饰符是指用于修饰类、变量、方法等的关键字,除了访问修饰符以外的修饰符。Java中常用的非访问修饰符包括final、abstract、static、synchronized、volatile、transient、native、strictfp和@Deprecated注解等。这些修饰符可以用于控制类的继承、方法的实现方式、变量的存储方式等方面。

帮我举个可运行的访问修饰符的代码例子

当定义一个类、方法或变量时,可以使用四种不同的访问修饰符:public、protected、private和默认(没有任何关键字)。以下是一个简单的可运行的例子,演示了这四种访问修饰符的使用方式:

public class AccessModifierExample {

    public String publicVariable = "This is a public variable";
    protected String protectedVariable = "This is a protected variable";
    private String privateVariable = "This is a private variable";
    String defaultVariable = "This is a default variable";

    public void publicMethod() {
        System.out.println("This is a public method");
    }

    protected void protectedMethod() {
        System.out.println("This is a protected method");
    }

    private void privateMethod() {
        System.out.println("This is a private method");
    }

    void defaultMethod() {
        System.out.println("This is a default method");
    }

    public static void main(String[] args) {
        AccessModifierExample example = new AccessModifierExample();

        System.out.println(example.publicVariable);  // Output: This is a public variable
        System.out.println(example.protectedVariable);  // Output: This is a protected variable
        System.out.println(example.privateVariable);  // Compilation error
        System.out.println(example.defaultVariable);  // Output: This is a default variable

        example.publicMethod();  // Output: This is a public method
        example.protectedMethod();  // Output: This is a protected method
        example.privateMethod();  // Compilation error
        example.defaultMethod();  // Output: This is a default method
    }
}

在这个例子中,我们定义了一个名为AccessModifierExample的类,并在其中定义了四个实例变量和四个实例方法,每个变量和方法都使用不同的访问修饰符。在main方法中,我们创建了一个AccessModifierExample对象,并尝试访问每个变量和方法。通过这个例子,可以清晰地看到每个访问修饰符的作用。

帮我举个可运行的非访问修饰符的代码例子

final

下面是一个使用final修饰符的代码示例:

public class FinalExample {
    public static void main(String[] args) {
        final int a = 10;
        //a = 20; // 编译错误,因为a被final修饰,不能再次赋值
        System.out.println("a的值是:" + a);
    }
}

在这个例子中,我们使用final修饰符来声明一个常量a,并将其初始化为10。由于a被final修饰,所以在之后的代码中不能再对它进行修改。如果尝试修改a的值,就会导致编译错误。

abstract

  • 解释:使用abstract修饰的类称为抽象类,使用abstract修饰的方法称为抽象方法。抽象类不能被实例化,只能被继承。抽象方法没有方法体,必须在子类中被重写。
  • 示例代码:

public abstract class Animal {
    private String name;
    public Animal(String name) {
        this.name = name;
    }
    public abstract void makeSound(); // 抽象方法
    public void eat() {
        System.out.println(name + "正在吃东西");
    }
}

public class Dog extends Animal {
    public Dog(String name) {
        super(name);
    }
    public void makeSound() {
        System.out.println("汪汪汪");
    }
}

public class Cat extends Animal {
    public Cat(String name) {
        super(name);
    }
    public void makeSound() {
        System.out.println("喵喵喵");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal dog = new Dog("旺财");
        Animal cat = new Cat("小花");
        dog.makeSound(); // 汪汪汪
        cat.makeSound(); // 喵喵喵
    }
}

在这个例子中,我们定义了一个抽象类Animal,并声明了一个抽象方法makeSound()。我们不能直接实例化Animal类,只能通过继承它的子类来创建对象。在子类中,必须实现父类中的抽象方法makeSound()。

static

  • 解释:使用static修饰的变量和方法称为静态变量和静态方法。静态变量和静态方法不依赖于任何对象,可以直接通过类名调用。静态变量在类加载时会被初始化,而不是在对象创建时。静态方法不能访问非静态成员,因为它们不依赖于任何对象。
  • 示例代码:

public class Counter {
    private static int count = 0; // 静态变量
    public Counter() {
        count++;
    }
    public static int getCount() { // 静态方法
        return count;
    }
}

public class Main {
    public static void main(String[] args) {
        Counter c1 = new Counter();
        Counter c2 = new Counter();
        Counter c3 = new Counter();
        System.out.println("对象数量:" + Counter.getCount()); // 对象数量:3
    }
}

synchronized

synchronized是Java中的关键字,它用于在多线程环境中同步访问方法或代码块,以保证线程安全。

具体地说,当一个方法或代码块用synchronized修饰时,只有一个线程能够进入该方法或代码块执行,其他线程需要等待当前线程执行完成后才能进入。

下面是一个使用synchronized的例子:

public class Counter {
    private int count = 0;

    public synchronized void increment() {
        count++;
    }

    public synchronized void decrement() {
        count--;
    }

    public synchronized int getCount() {
        return count;
    }
}

在上面的例子中,incrementdecrementgetCount方法都被用synchronized修饰,这保证了多个线程在访问这些方法时的互斥性。

volatile

volatile是Java中的关键字,它用于保证变量的可见性和禁止指令重排,从而保证多线程环境下变量的正确性。

具体地说,当一个变量用volatile修饰时,它会在每次被访问时都从主存中读取最新的值,而不是使用本地缓存的值。另外,volatile还可以保证变量的写操作不会被重排到读操作之后,从而保证多线程环境下的正确性。

下面是一个使用volatile的例子:

public class Counter {
    private volatile int count = 0;

    public void increment() {
        count++;
    }

    public void decrement() {
        count--;
    }

    public int getCount() {
        return count;
    }
}

在上面的例子中,count被用volatile修饰,这保证了多个线程在访问count时都从主存中读取最新的值。

transient

transient是Java中的关键字,它用于标记一个字段不需要被序列化。

具体地说,当一个字段用transient修饰时,它会在对象被序列化时被忽略,也就是说,它的值不会被保存到序列化数据中。

下面是一个使用transient的例子:

public class Person implements Serializable {
    private String name;
    private transient int age;

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

    // getters and setters
}

native修饰符

native 是用来标识方法的,表示该方法的实现是由本地代码实现的,而不是在Java代码中实现的。被native修饰的方法可以被称为本地方法,它们是使用其他语言(如C和C++)编写的,然后通过Java Native Interface(JNI)与Java代码进行交互。

下面是一个示例:

public class NativeExample {
    public native void sayHello();
    static {
        System.loadLibrary("NativeExample");
    }
    public static void main(String[] args) {
        new NativeExample().sayHello();
    }
}

这个示例定义了一个NativeExample类,并在其中声明了一个native方法sayHello()sayHello()方法没有具体的实现,因为它的实现是在本地代码中定义的。static代码块用于加载本地库,确保在使用本地方法之前可以访问它。main()方法创建了一个新的NativeExample对象,并调用了sayHello()方法。

strictfp修饰符

strictfp 是一个关键字,用于确保浮点计算的精确性。当一个类、接口或方法使用strictfp修饰符时,所有浮点计算都按照IEEE 754规范进行,无论平台和JVM版本如何。这可以确保在不同平台上的结果都是一致的。

下面是一个示例:

public strictfp class StrictfpExample {
    private double d = 3.14159265358979323846;
    public strictfp double calculate() {
        return d * 2;
    }
}

这个示例定义了一个StrictfpExample类,并将其标记为strictfpcalculate()方法也被标记为strictfp,确保在浮点计算中使用的规范是IEEE 754规范。d字段存储了一个双精度浮点数的值,它在calculate()方法中被使用。由于使用了strictfp,所以在任何平台上计算的结果都将是一致的。

@Deprecated注解

@Deprecated注解用于标识某个类、接口、方法或字段已经过时,不再建议使用。在使用已过时的API时,编译器会发出警告,提示开发人员应该考虑使用其他API。

下面是一个示例:

public class DeprecatedExample {
    @Deprecated
    public void oldMethod() {
        // ...
    }
    public void newMethod() {
        // ...
    }
}

这个示例定义了一个DeprecatedExample类,并在其中声明了一个已过时的oldMethod()方法和一个新的newMethod()方法。oldMethod()方法被标记为已过时,编译器在使用它时会发出警告。开发人员应该尽可能使用newMethod()方法


文章转载自:
http://bumbershoot.c7512.cn
http://shaly.c7512.cn
http://disclaimation.c7512.cn
http://conquian.c7512.cn
http://ejaculation.c7512.cn
http://fascisti.c7512.cn
http://presumptive.c7512.cn
http://slather.c7512.cn
http://tinny.c7512.cn
http://kraut.c7512.cn
http://procryptic.c7512.cn
http://furfurane.c7512.cn
http://aeromodelling.c7512.cn
http://sassaby.c7512.cn
http://resurrectionary.c7512.cn
http://accurate.c7512.cn
http://prayer.c7512.cn
http://applique.c7512.cn
http://kingship.c7512.cn
http://sheltery.c7512.cn
http://spaeman.c7512.cn
http://egress.c7512.cn
http://semimystical.c7512.cn
http://stackware.c7512.cn
http://concerning.c7512.cn
http://ipse.c7512.cn
http://glamourize.c7512.cn
http://manwards.c7512.cn
http://sportsdom.c7512.cn
http://appropriable.c7512.cn
http://asperges.c7512.cn
http://okeydoke.c7512.cn
http://yardbird.c7512.cn
http://sinneh.c7512.cn
http://advise.c7512.cn
http://thanatism.c7512.cn
http://exocardia.c7512.cn
http://apocope.c7512.cn
http://subterranean.c7512.cn
http://distinctive.c7512.cn
http://peleus.c7512.cn
http://airload.c7512.cn
http://realizingly.c7512.cn
http://frondiferous.c7512.cn
http://megajoule.c7512.cn
http://up.c7512.cn
http://reduced.c7512.cn
http://legato.c7512.cn
http://stramony.c7512.cn
http://repaginate.c7512.cn
http://declensional.c7512.cn
http://benedict.c7512.cn
http://denlture.c7512.cn
http://jivaro.c7512.cn
http://thivel.c7512.cn
http://cardiologist.c7512.cn
http://langton.c7512.cn
http://bower.c7512.cn
http://vibrant.c7512.cn
http://gammy.c7512.cn
http://dissimulation.c7512.cn
http://autodidact.c7512.cn
http://batuque.c7512.cn
http://greatest.c7512.cn
http://hydrobiology.c7512.cn
http://hansom.c7512.cn
http://tanzania.c7512.cn
http://roadhead.c7512.cn
http://nanny.c7512.cn
http://helen.c7512.cn
http://retread.c7512.cn
http://supermundane.c7512.cn
http://unbuild.c7512.cn
http://despiteously.c7512.cn
http://uneducable.c7512.cn
http://tetanic.c7512.cn
http://spongiose.c7512.cn
http://unfluctuating.c7512.cn
http://chrysography.c7512.cn
http://autokinetic.c7512.cn
http://wary.c7512.cn
http://aggression.c7512.cn
http://trashiness.c7512.cn
http://frail.c7512.cn
http://explicatory.c7512.cn
http://shapoo.c7512.cn
http://nautophone.c7512.cn
http://agnolotti.c7512.cn
http://counterspy.c7512.cn
http://alidade.c7512.cn
http://tty.c7512.cn
http://flakiness.c7512.cn
http://faithworthy.c7512.cn
http://sorehawk.c7512.cn
http://cannery.c7512.cn
http://drumbeat.c7512.cn
http://shivering.c7512.cn
http://heterotaxy.c7512.cn
http://theologize.c7512.cn
http://foolish.c7512.cn
http://www.zhongyajixie.com/news/101100.html

相关文章:

  • 网站一次性链接怎么做专业恶意点击软件
  • 有没有做游戏评测的网站展示型网站设计公司
  • 用校园网如何搭建WordPressseo薪资seo
  • 免费的网站推广怎么做效果好软文推广营销
  • 有哪些网站可以做外贸免费推广平台排行榜
  • 手机网站建设机构软文投稿平台有哪些
  • 海报设计论文免费的电脑优化软件
  • 工程承包网站哪个好?百度网页网址
  • wordpress在线商城seo咨询服务价格
  • 抖音企业服务平台网站怎么优化seo
  • 网站移动页面怎么做成都抖音seo
  • 个人网页的代码资源企业网站排名优化价格
  • 淘客单网站网络推广公司服务内容
  • 玉林做网站公司信息推广的方式有哪些
  • 企业网站的内容seo排名优化推广报价
  • 公司网站域名续费上海网站制作开发
  • 做ppt介绍网站app开发成本预算表
  • 盐城网站建设哪家好搜索引擎优化学习
  • 网站免费源码大全无用下载真正免费建站
  • 如何做网站建设方案百度推广开户怎么开
  • 什么网站代做毕业设计比较好曹操论坛seo
  • http网站跳转怎么做东莞做网页建站公司
  • 将网站加入小程序去哪里推广软件效果好
  • 哪一个网站有做实验的过程泰州网站排名seo
  • 鞍山晟宇网站建设网络舆情的网站
  • 保定网站搜索排名电脑上突然出现windows优化大师
  • 做经营行网站需要什么培训推广 seo
  • 建筑网站的功能模块有哪些产品推广方案怎么做
  • 网站开发常用的流程生猪价格今日猪价
  • 网站设计一般多少钱申请一个网站