首页 > 编程语言 >Java SE:static package this关键字与访问权限

Java SE:static package this关键字与访问权限

时间:2022-12-29 21:24:13浏览次数:41  
标签:Java 变量 package 对象 访问 实例 static 方法

JAVA课程-类和对象

static修饰符

1.static修饰变量

在类中,被static修饰的变量叫做类变量,否则叫做实例变量。

  • 类变量:例如static int a,为整个类中所有对象所共享,只能存在一份。既可以由类调用,也可以被类的对象调用。
  • 实例变量:莓实例化一个对象,都会有一份独立的实例变量的内存空间,各对象之间的实例变量不相关。

2. static修饰方法

在类中,被static修饰的方法叫做类方法,否则叫做实例方法。

  • 类方法只能访问类的类变量,不可以访问实例变量。类方法既可以由类调用,也可以由类的对象调用。(理解:在类还没有实例化出对象时,还不存在实例变量,但是类的static方法已经存在,它有可能是被类直接调用的,那此时连实例的对象都没有,自然也没有实例变量,故static方法和可访问实例变量显然是错误的)
  • 实例方法可以访问类的所有变量,只能由类的对象调用。

this 关键字

  1. this 表示一个类的对象,当this出现在方法中时,表示现在这个对象。
  2. this不可以出现在类方法中!这是因为在类方法中有可能还没有创建过对象,则this的存在无意义。
    • 当实例变量在实例方法中出现时,默认格式this.实例变量,可以省略this
    • 当static类变量在实例方法中出现时,默认格式CLASS.类变量,可以省略CLASS

package

多个程序员共同开发时,有可能使用相同的类名。因此我们引入package,不同包内的类名即是相同也不会产生冲突,同一个包内不允许同名类出现。

  • package声明语句将作为JAVA源文件的第一条语句。
  • 如果一个类有包名,则不能在任意位置存放。
  • import语句要写在package语句后

访问权限

可以用private\protected\public约束变量、方法和类,不定义默认是 friend:

  • private:只有该类可以访问变量
  • public:该类/非该类均可访问
  • protected:相同包中的类可以访问

对于public类,权限决定了哪些类可创建它的对象;对于变量和方法,权限决定了谁可以访问它。

标签:Java,变量,package,对象,访问,实例,static,方法
From: https://www.cnblogs.com/czy-blogs/p/17013552.html

相关文章

  • Java面向对象:子类与继承
    今天听java课程感觉难度突然增加,因此注意上课记录关键笔记,提醒自己回顾。JAVA子类与继承子类与父类问题:哪些父类的变量与方法可被子类继承?与访问权限有关前提知识:jav......
  • java中的字符串反转
    本文主要讲述java中的字符串反转示例代码如下:1publicclassHomeWork01{2publicstaticvoidmain(String[]args){3Strings="abcdef";4......
  • 数组方法 JavaScript
    //连接两个数组consta1=[1,2,3];consta2=[4,5,6];consta3=a1.concat(a2);console.log(a3);console.log("----------------------------------------......
  • JAVA02
    基本运算符算数运算符:+-*/%++--赋值运算符:=关系运算符:><>=<===!=(instanceof)逻辑运算符:&&||!位运算符:&|^~>><<>>>条件运算符:?:扩......
  • Java基础之面向对象——类、对象、方法
    类与对象    类的概念我们平时已经听过很多了。人类、鸟类、鱼类...所谓类,就是对一类事物的描述,是抽象的、概念上的定义,比如鸟类,就泛指所有具有鸟类特征的动物。比......
  • JavaScript基础入门
    一、基础入门1、引入JavaScript1.1内部标签<script>  //...</script>1.2外部引入x.js//...x.html<scriptsrc="x.js"></script>1.3测试代码<!DOCTYPEh......
  • 第一章《初学者问题大集合》第7节:编写第一个Java程序
    ​下载并安装好IDEA之后,就可以编写Java程序啦!前文曾经讲过,Java程序最初的存在形式是Java源文件,经过编译之后又会产生字节码文件。当今时代,软件项目的规模越来越大,因此软件项......
  • 坦克大战1.0,java时间处理机制
    1.java绘图坐标体系1.1坐标体系-介绍下图说明了Java坐标系。坐标原点位于左上角,以像素为单位。在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个......
  • JavaScript如何实现多线程?
    我们都知道JS是一种单线程语言,即使是一些异步的事件也是在JS的主线程上运行的。像setTimeout、ajax的异步请求,或者是dom元素的一些事件,都是在JS主线程执行的,这些操作并没有......
  • java发送http请求
    java发送http请求有几种方法1、HttpURLConnection、URLConnection使用JDK原生提供的net,无需其他jar包;2、HttpClient3、Socket本文使用依赖于第三方jar包的HttpClient......