Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.1基本概念(4.1.6-4.1.7)
2017-05-27 20:47
901 查看
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。
相关文章推荐
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.1基本概念(4.1.8-4.1.9)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.1基本概念(4.1.2)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.1基本概念(4.1.10)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.1基本概念(4.1.3)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.1基本概念(4.1.11-4.1.12)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.1基本概念(4.1.1)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.4基本类型与运算(4.4.5-4.4.10)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.4基本类型与运算(4.4.1)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.6异常处理(4.6.1-4.6.3)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.3关键字(4.3.4-4.3.6)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.2面向对象技术(4.2.1-4.2.2)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.2面向对象技术(4.2.3-4.2.5)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.7输入输出流(4.7.4-4.7.6)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.2面向对象技术(4.2.6)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.2面向对象技术(4.2.10-4.2.11)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.10多线程(4.10.1-4.10.4)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.5字符串与数组(4.5.4-4.5.6)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.3关键字(4.3.7-4.3.9)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.2面向对象技术(4.2.7-4.2.9)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.11Java数据库操作(4.11.1-4.11.8)