您的位置:首页 > 编程语言 > Java开发

Java学习笔记之类的、static关键字、访问权限

2016-05-04 19:47 726 查看
以下是博主学java的时候记的一些笔记,分享给大家,如果有错误或者以为的话,可以在下方留言

类的声明:

class 类名{

类体的内容

}

注意:如果类名使用的是拉丁字母的话,首字母要大写,如Hello,Time;

类名最好容易识别,见明知意。当几个单词复合时,每个单词的首字母大写,如BeijingTime

成员变量和局部变量:

在变量声明部分声明的变量是类的成员变量,在方法体中声明的变量叫局部变量。

例:

<span style="font-size:18px;">class People{

int boy;                //成员变量

Float a[];

void f(){

boolean cool;       //局部变量

Student zhangboy;   //zhangboy 叫做对象

}

}

class  Student{

double x;

}</span>


成员变量在整个类内都有效,局部变量只在声明他的方法内有效;

成员变量的隐藏:

例:

<span style="font-size:18px;">class 三角形{

float sA,sB,sC,length;

void setSide(float sA,float sB,float sC){

this.sA=sA;

this.sB=sB;

this.sC=sC;

}

}</span>


个人理解:

如果不加this,系统编译时会报错;

方法:

声明: 方法声明的部分{ 例: float area{

方法的内容 int a;

} }

注意: 当一个方法不需要返回数据时,返回类型必须是void;

对象:

声明:类的名字 对象的名字;

例:People zhangPing;

zhangPing=new People(); //申请内存;

或者:People zhangPing=new People();

对象操作自己的变量或者调用类中的方法的方法都是

对象.变量或对象.方法;

不可以向一个int型参数传递float型的值,相反就可以;

也就是说可以由低精度向高精度传值;

可变参数:

形式: public void f(int ...x)

作用:可以向f()方法中传不确定的值,不会报错。

例:

<span style="font-size:18px;">public class Computer{

public double getResult(double a,int ...x){

double result= 0;

int sum=0;

for(int i=;i<x.length;i++){

Sum+=x[i];

}

result=a*sum;

return result;

}

}

public class Example_6{

public static void main(String []args){

Computer computer=new Computer();

double result=computer.getResult(1./3,10,20,30);

System.out.println(“三数的平均数是:”+result);                        result=computer.getResult(1.0/6,66,12,5,89,2,51);

System.out.println(“六数的平均数是:”+result);

}

}</span>


static关键字:

实例变量和类变量(静态变量):

类变量:在类变量被定义时就已经分配了内存空间了,而且类变量的内存是所有对象共享的,还可以直接用类名访问。

实例变量:实例变量只和相应的对象有关,不能用类名直接访问。

类方法和实例方法:

类方法:类方法只能对类变量进行操作。

实例方法:实例方法既可以对实例方法进行操作,也可以对类变量进行操作,实例方法可以调用其他方法,包括类方法,但类方法只能调用类方法,别的不能调用。

例:

<span style="font-size:18px;">class A{

float a,b;

void sum(float x,float y){

a=max(x,y);                     //合法

b=max(x,y);                     //合法

System.out.println(a+b);

}

static float getMaxSquare(float x,float y){

return max(x,y)*max(x,y);        //合法

}

static float getMinSquare(float x,float y){

return min(x,y)*min(x,y);        //非法

}

static float max(float x,float y){    //类方法

return x>y?x:y;

}

float min(float x,float y){           //实例方法

return x<y?x:y;

}</span>


访问权限:

私有变量和私有方法:

如果Tom是某个私有的类方法或者类变量,在另一个类中,也不能通过Tom来调用这个类方法或者操作这个类变量。

对于私有成员变量或方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有变量和类中的私有方法。

例:

<span style="font-size:18px;">class AAA{
private int money;

private int getMoney(){

return money;

}

public static void main(String []args){

AAA exa=new AAA();

xxa.money=300;

int m=exa.getMoney();

System.out.println(“money=”+m);

}                                  //正确

以下是错误代码:

class AAA{
private int money;

private int getMoney(){

return money;

}

class E{

public static void main(String []args){

AAA exa=new AAA();          //不在AAA类中

xxa.money=300;             //非法

int m=exa.getMoney();      //非法

System.out.println(“money=”+m);

}

}               </span>


共有变量和共有方法:

被public修饰的成员变量或方法是共有的。可以相互之间调用,修改。

友好变量和友好方法:

不被public、private、projected修饰的就是友好变量和方法。

注意:不能用protected和private修饰类。

访问权限修饰符按从高到低的顺序依次是public、protect、private.

受保护的变量和方法:

。。。。

通过一个例子来了解几个用法:

public static boolean isDigit(char ch);如果ch是数字字 符,返回ture,否则返回false.

public static boolean isLetter(char ch);如果ch是字母字符,返回ture,否则返回false.

public static boolean isLetterOrDisit(char ch);如果ch是字母字符或数字字符,返回ture,否则返回false.

public static boolean isLowerCase(char ch);如果ch是小写字母,返回ture,否则返回false.

public static boolean isUpperCase(char ch);如果ch是大写字母,返回ture,否则返回false.

public static char toLowerCase(char ch);返回ch的小写形式.

public static char toUpperCase(char ch);返回ch的大写形式.

public static boolean isSpaceChar(char ch);如果ch是空格返回ture.

例:

<span style="font-size:18px;"> public class Example_7{

public static void main(String []args){

char []a={‘a’,’b’,’c’,’D’,’E’,’F’};

for(int i=0;i<a.length;i++){

if(Character.isLowerCase(a[i])){

a[i]=Character.toUpperCase(a[i]);

}

else if(Character.isUpperCase(a[i])){

a[i]=Character.toLowerCase(a[i]);

}

}

for(int i:a){

System.out.println(i);

}

}

}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: