1、static变量叫做类变量,也叫static变量或静态变量。(初始化)
2、不用static修饰的成员变量也称作实例变量。
3、存储位置:每个类当中,为每个对象所特有。
4、调用对象:不能用类来调用普通的成员变量。
类变量存在类当中,定义的时候要初始化,可以被类名直接调用。
5、用static修饰的方法叫做类方法(静态方法)
不用static修饰的方法叫做实例方法
public static void main(String []args)
普通函数不能被类名调用,只能被对象调用(有this引用),
类方法能够被类调用(无this引用)。
记住类方法无this引用,实例方法隐含了this引用
包(pacakage)
包里有很多类。包里有子包。
定义格式
package 大学.计信学院
class 软件1111班学生{
}
大学是一个大包,其中一个子包是计信学院,软件1111班学生是其中的一个类。
d:\myjava \ P \ A.java
1、必须是静态方法,为什么?程序运行时先调用主方法,这个时候没有对象,所以必须是静态方法,这就可以直接调用。
import
1、如何叫这另一个类的名字?
定义一个类时,如果需要用到另一个包,那么久用import导入。
如果一个类属于一个包,直接永短名,否则,不能用短名。
总是用全称就不会有错。
2、import A.*
表示将A包引入,让计算机在A包类找,但是不会在子包类寻找。如果想要在子包找,那么需要把子包写出来。
#访问权限
1、指访问权限时指一个成员变量、一个方法、一个类的使用范围
2、四种privated, protected、
私有访问权限
1、只能在类中使用,不能在外面使用。
class A
{
private int t;
private void f() {}
}
class B {
A x = new A();
A x.f()//错的,f只能在A中使用。
}
3、类不能有私有的。
公有的
默认的(友好的,同包的)
只能在本包中使用。比如在P.A类中定义了一个int t,那么这个t只能在P包中使用。不能再B包或者其他包使用。比如再P中定义一个A类,并且没有指明是private、public,那么就是默认的,只有P包中的类能调用A类。
3、最小气的是private类,最大方的是public类,默认的只能再本包中使用。
#数组
1、怎么创建?new typename[length], new [length]typename
2、存储位置在哪里?在堆区,跟类一样的。
3、new 点[3]创建了一个长度为3的引用型变量的一维数组,横坐标,纵坐标都没有用。
new int [3]创建了一个长度为3的int型变量
int[] a, 是int一维数组的引用型变量。声明对象,并没有造对象。
double[] b b是double一维数组的引用型变量。
点[[ p,点的引用的一维数组引用型变量(指针的指针)
4、声明数组,方括号内不能有数字。
int []a = new int [4];
a = new int[];
栈内存里申请了一块空间a,又在堆内存申请了内存int,a指向的就是堆的内存空间。
如果是变量,那么a存储的就是数据本身。
5、java总是通过检查数组的属性length来防止越界,即数组是安全的。c语言是不安全的。
6、申请的是动态内存。
7、声明数组的时候不用长度(确定名字)。造数组的时候需要长度。
int[]a (声明数组)