Java学习笔记之类的、static关键字、访问权限
2016-05-04 19:47
726 查看
以下是博主学java的时候记的一些笔记,分享给大家,如果有错误或者以为的话,可以在下方留言
类的声明:
class 类名{
类体的内容
}
注意:如果类名使用的是拉丁字母的话,首字母要大写,如Hello,Time;
类名最好容易识别,见明知意。当几个单词复合时,每个单词的首字母大写,如BeijingTime
成员变量和局部变量:
在变量声明部分声明的变量是类的成员变量,在方法体中声明的变量叫局部变量。
例:
成员变量在整个类内都有效,局部变量只在声明他的方法内有效;
成员变量的隐藏:
例:
个人理解:
如果不加this,系统编译时会报错;
方法:
声明: 方法声明的部分{ 例: float area{
方法的内容 int a;
} }
注意: 当一个方法不需要返回数据时,返回类型必须是void;
对象:
声明:类的名字 对象的名字;
例:People zhangPing;
zhangPing=new People(); //申请内存;
或者:People zhangPing=new People();
对象操作自己的变量或者调用类中的方法的方法都是
对象.变量或对象.方法;
不可以向一个int型参数传递float型的值,相反就可以;
也就是说可以由低精度向高精度传值;
可变参数:
形式: public void f(int ...x)
作用:可以向f()方法中传不确定的值,不会报错。
例:
static关键字:
实例变量和类变量(静态变量):
类变量:在类变量被定义时就已经分配了内存空间了,而且类变量的内存是所有对象共享的,还可以直接用类名访问。
实例变量:实例变量只和相应的对象有关,不能用类名直接访问。
类方法和实例方法:
类方法:类方法只能对类变量进行操作。
实例方法:实例方法既可以对实例方法进行操作,也可以对类变量进行操作,实例方法可以调用其他方法,包括类方法,但类方法只能调用类方法,别的不能调用。
例:
访问权限:
私有变量和私有方法:
如果Tom是某个私有的类方法或者类变量,在另一个类中,也不能通过Tom来调用这个类方法或者操作这个类变量。
对于私有成员变量或方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有变量和类中的私有方法。
例:
共有变量和共有方法:
被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.
例:
类的声明:
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>
相关文章推荐
- java 二进制 文件I/O 2进制和10进制的转换 程序实现 以及移位
- Struts笔记03
- 动态代理记录日志
- [转载]java三种方法拆分字符串
- 从源码理解LinkedHashMap.java
- Struts笔记02
- Struts2笔记02
- HashMap排序题
- Struts2笔记01
- Java基础第三天_数组
- Java学习笔记之数组、枚举
- JAVA线程池ThreadPoolExecutor-转
- Java 初学者学习路线(浓缩版)
- java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log 造成的原因和解决方法
- springmvc在业务控制方法中收集List<JavaBean>参数,实现批量处理
- java之代理设计模式
- Java ConcurrentModificationException异常原因和解决方法
- [ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChang
- Java 调用cmd命令
- java中日期yyyy-MM-dd格式转为星期几