JAVA-基础-包-修饰符-代码块

java的包,其实就是我们电脑系统中的文件夹,包里存放的是类文件。

当类文件很多的时候,通常我们会采用多个包进行存放管理他们,这种方式称为分包管理。

在项目中,我们将相同功能的类放到一个包中,方便管理。并且日常项目的分工也是以包作为边界。

类中声明的包必须与实际class文件所在的文件夹情况相一致,即类声明在a包下,则生成的.class文件必须在a文件夹下,否则,程序运行时会找不到类。

包的声明格式

通常使用公司网址反写,可以有多层包,包名采用全部小写字母,多层包之间用”.”连接

类中包的声明格式:

package 包名.包名.包名…;

如:Oracle网址oracle.com那么网址反写就为com.oracle

l  注意:声明包的语句,必须写在程序有效代码的第一行(注释不算)

包的访问

在访问类时,为了能够找到该类,必须使用含有包名的类全名(包名.类名)。

包名.包名….类名

如: java.util.Scanner

java.util.Random

com.oracle.Demo

带有包的类,创建对象格式:包名.类名 变量名 = new包名.类名();

com.oracle.Demo d = new com.oracle.Demo();

l  类的简化访问

当我们要使用一个类时,这个类与当前程序在同一个包中(即同一个文件夹中),或者这个类是java.lang包中的类时通常可以省略掉包名,直接使用该类。

如:com.oracle包中有两个类,PersonTest类,与Person类。我们在PersonTest类中,访问Person类时,由于是同一个包下,访问时可以省略包名,即直接通过类名访问 Person。

类名 变量名 = new类名();

Person p = new Person();

l  当我们要使用的类,与当前程序不在同一个包中(即不同文件夹中),要访问的类必须用public修饰才可访问。

package com.oracle02;

public class Person {}

import导包

l  import导包代码书写的位置:在声明包package后,定义所有类class前,使用导包import包名.包名.类名;

访问修饰符


public


protected


default


private


同一类中






同一包中(子类与无关类)





不同包的子类




不同包中的无关类


l  要想仅能在本类中访问使用private修饰;

l  要想本包中的类都可以访问不加修饰符即可;

l  要想本包中的类与其他包中的子类可以访问使用protected修饰

l  要想所有包中的所有类都可以访问使用public修饰。

l  注意:如果类用public修饰,则类名必须与文件名相同。一个文件中只能有一个public修饰的类。

代码块

局部代码块:

局部代码块是定义在方法或语句中

特点:

l  以”{}”划定的代码区域,此时只需要关注作用域的不同即可

l  方法和类都是以代码块的方式划定边界的

class Demo{
    public static void main(String[] args)    {
        {
                  int x = 1;
                 System.out.println("普通代码块" + x);
        }
        int x = 99;
        System.out.println("代码块之外" + x);
    }
}

结果:

普通代码块1

代码块之外99

构造代码块

构造代码块是定义在类中成员位置的代码块

特点:

l  优先于构造方法执行,构造代码块用于执行所有对象均需要的初始化动作

l  每创建一个对象均会执行一次构造代码块。

public class Person {
    private String name;
    private int age;

     //构造代码块
    {
        System.out.println("构造代码块执行了");
    }
    Person(){
        System.out.println("Person无参数的构造函数执行");
    }
    Person(int age){
        this.age = age;
        System.out.println("Person(age)参数的构造函数执行");
    }
}
class PersonDemo{
    public static void main(String[] args)    {
        Person p = new Person();
        Person p1 = new Person(23);
    }
}

静态代码块

静态代码块是定义在成员位置,使用static修饰的代码块。

特点:

l  它优先于主方法执行、优先于构造代码块执行,当以任意形式第一次使用到该类时执行。

l  该类不管创建多少对象,静态代码块只执行一次。

l  可用于给静态变量赋值,用来给类进行初始化。

public class Person {
    private String name;
    private int age;
     //静态代码块
    static{
        System.out.println("静态代码块执行了");
    }
}

原文地址:https://www.cnblogs.com/zhangwei2065289/p/9216863.html

时间: 2024-11-05 20:23:36

JAVA-基础-包-修饰符-代码块的相关文章

匿名对象,内部类,包的声明与访问,访问修饰符,代码块,java的API equals toString方法整理

匿名对象  匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. public class Person{ public void eat(){ System.out.println(); } }创建一个普通对象person p=new person();创建一个匿名对象new person(); 匿名对象的特点: 1创建匿名对象直接使用,没有变量名. new Person().eat() //eat方法被一个没有名字的Person对象调用了. 2,匿名对象在没有指定其

Java基础——常用修饰符分析

在学习Java基础时会时不时用到一些修饰符,这些修饰符修饰的内容不一样,作用域也不一样,只有梳理清楚才能正确的使用它们. 不同修饰符修饰内容的作用域 public public公共的,表示该属性(或方法)公开,所有用户都可以直接进行调用. default缺省 default表示默认,不仅本类访问,而且是同包可见. private private私有的,表示该属性(方法)为只有本类内部可以访问(类内部可见).(想用private还要用set和get方法供其他方法调用,这样可以保证对属性的访问方式统

java基础--访问修饰符之我见

1.java修饰符访问权限--public,protected,private,default(package,friendly) 被public修饰的类.类属变量及方法,可以被包内及包外的任何类访问:被protected修饰的类.类属变量及方法,包内的任何类,及包外的那些继承了此类的子类才能访问:被private的修饰的类.类属变量及方法,包内包外的任何类均不能访问:如果一个类.类属变量及方法不以这三种修饰符来修饰,它就是default,也可以称之为是friendly类型的或者package类

Java基础(9) - 静态、代码块

关键字加载顺序 .类初始化 .方法区.进程 存在作用:变量 -> 全局共享 (跨线程,但不支持跨进程)方法 -> 不用类实例就能直接使用,避免New的消耗.(为什么静态方法不能访问非静态变量)代码块 -> 静态块在类初始化就运行 ,初始化顺序 静态代码块 -> 普通代码块 -> 构造方法 -> 普通方法,代码块只会初始化一次导包 -> 静态导包,将类的方法直接导入到当前类中,从而直接使用"方法名"即可调用类方法,更加方便. 类加载:? 静态属性

java基础复习一、代码块执行顺序

1 /** 2 * 代码块执行顺序的测试 3 * 执行顺序 静态代码块>main代码块>构造代码块>构造函数>普通代码块 4 * @author Administrator 5 * 6 */ 7 public class ClassDemo01 { 8 static { 9 System.out.println("这是一个静态代码块"); 10 } 11 { 12 System.out.println("这是一个构造代码块"); 13 } 1

JAVA基础学习-修饰符的使用

作用范围 那么什么情况该用什么修饰符呢?从作用域来看,public能够使用所有的情况. 但是大家在工作的时候,又不会真正全部都使用public,那么到底什么情况该用什么修饰符呢? 1. 属性通常使用private封装起来2. 方法一般使用public用于被调用3. 会被子类继承的方法,通常使用protected4. package用的不多,一般新手会用package,因为还不知道有修饰符这个东西 再就是作用范围最小原则简单说,能用private就用private,不行就放大一级,用package

java学习笔记(三)java中的修饰符abstract、static与final

一.四种访问级别的访问范围 访问级别 访问修饰符 同类 同包 子类 不同的包 公开 public 受保护 protected 默认 没有访问修饰符 私有的 private 二.使用abstract修饰符需要遵守的语法规则 1.抽象类中可以没有抽象方法,但是包含抽象方法的类必须定义为抽象类,即用abstract修饰: 2.抽象类跟抽象方法不能被final修饰符修饰: 3.抽象类中可以有非抽象方法,因为继承抽象类的子类必须重写父类中所有的抽象方法,因此抽象类中不能有抽象构造方法和抽象静态方法: 4.

java中Volatile修饰符的含义

在java语言中:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值进行对比. volatile关键字的作用就是提示vm:对于这个成员变量不能保存它的私有拷贝,而应直接与共享变量进行交互. 被volatile修饰符修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值.而且,当成员变量发生变化时,又强迫线程将变化了的值写回共享内存,这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值.这样当多个线程同时与某个

Java中的修饰符

在java中,修饰符分为访问权限修饰符和非访问权限修饰符.可以被修饰符修饰的java语言元素有类,变量,方法和接口.下面分别描述在这四个元素上使用修饰符的作用. 类 java中声明类的格式为: 访问修饰符 修饰符 class 类名 extends 父类名称 implements 接口名称{} 其中访问修饰符和修饰符可以互换位置,可以应用于类的访问修饰符为public和package,public表明类可以被任何类使用.package表示包访问权限,它是默认的访问权限,可以省略这个修饰符,使用pa