Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.1基本概念(4.1.6-4.1.7)

4.1.6Java中的作用域有哪些

在Java中,作用域是由花括号的位置决定的,决定了其定义的变量名的可见性和生命周期。
类方法又叫做静态方法。
在Java中,变量的类型主要有三种:成员变量、静态变量和局部变量。
成员变量作用范围:与类的实例化对象的作用范围相同,当类被实例化时,成员变量就会在内存中分配空间并被初始化,直到这个被实例化的对象的生命周期结束,成员变量的生命周期才会结束。
静态变量作用范围:也叫做全局变量,不依赖于特定的实例,而是被所有实例共享,也就是说只要类被加载,JVM就会给静态变量分配内存,可直接通过”类名.静态变量名”来访问静态变量
局部变量作用范围:在它所在的花括号内。

成员变量的四种作用域列举:
public:被public关键字修饰的成员变量或方法意味着对所有类或者对象都是可见的,所有类或对象都可以直接访问
protected:被protected关键字修饰的成员变量或方法表明对自己及子类是可见的,即自己和子类是可以访问的,除此之外的其他类或对象都没有访问权限。
default:被default关键字修饰的成员变量和方法表明只有自己和与其位于同一个包内的类可见。如果父类和子类位与同一个包内,则子类对父类的default成员变量和方法都有访问权限;若父类与子类位于不同的包内,则没有访问权限。
private:表明该成员变量和方法是私有的,只有当前类对其具有访问权限,除此之外的其他类或者对象都没有访问权限。
这些修饰词只可以修饰成员变量,不能修饰局部变量
private和protected不能用来修饰类,只有public、abstract或final才能用来修饰类

4.1.7一个Java文件中是否可以定义多个类

一个java文件可以定义多个类,但是最多只能有一个类被public修饰,并且这个类的类名和文件名必须相同。若文件中没有public类,那文件名随便是一个类的名字即可。

class Base2{
    public void print(){
        System.out.println("Base2!");
    }
}
public class Derived extends Base2{
    public static void main(String[] args){
        Base2 c = new Derived();
        c.print();
    }

}

运行结果:
Base2!
编译之后会出现两个class文件,Base2.class和Derived.class。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值