java基础复习--6
static关键字
用static修饰的变量叫做“类变量”,它随着类的加载而存在于方法区中。
非静态方法既可以访问静态也可以访问非静态
静态方法中不可以定义this,super关键字
main函数
public static void main(String[] args){}
什么时候使用静态?
静态变量(类变量):当对象中出现共享数据时
静态函数:当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的。
静态的应用:工具类
方法静态化
构造函数私有化
class ArrayTool
{
private ArrayTool(){}
public static void printArray(int[] arr)
{
System.out.print("[");
for(int i=0;i<arr.length;i++)
{
if(i!=arr.length-1)
{
System.out.print(arr[i]+",");
}
else
{
System.out.println(arr[i]+"]");
}
}
}
public static int getMax(int[] arr)
{
int max=0;
for(int i=0;i<arr.length;i++)
{
if(arr[i]>arr[max])
{
max=i;
}
}
return arr[max];
}
public static int getMin(int[] arr)
{
int min=0;
for(int i=0;i<arr.length;i++)
{
if(arr[i]<arr[min])
{
min=i;
}
}
return arr[min];
}
private static void swap(int[]arr,int a,int b)
{
int temp=0;
temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
public static void selectSort(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
{
for(int j=i+1;j<arr.length;j++)
{
if(arr[i]>arr[j])
{
swap(arr,i,j);
}
}
}
}
public static void bubbleSort(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
{
for(int j=0;j<arr.length-1-i;j++)
{
if(arr[j]>arr[j+1])
{
swap(arr,j,j+1);
}
}
}
}
}
帮助文档的制作javadoc
/**
@author @version @param @return
*/
使用工具:javadoc
javadoc -d c:\myhelp(目录)-author -version ArrayTool.java
注意:要生成帮助文档的类,必须为public类
默认的构造函数的权限和所属类一致
静态代码块
格式:
static
{
静态代码块中的执行语句
}
特点:随着类的加载而执行,只执行一次,并优先于主函数
用途:给类进行初始化
区分:
静态代码块,给类初始化 static{}
构造代码块,给对象初始化 {}
构造函数,给相对应的对象初始化...
Person p=new Person("zhangsan",20);
该句话做了什么?
1、找到Person.class文件并将其加载到内存中
2、执行该类中的static代码块,如果有的话,给Preson.class进行初始化
3、在堆内存中开辟空间,分配内存地址
4、在堆内存中建立对象的特有属性,并进行默认初始化
5、对属性进行显示初始化
6、对对象进行构造代码块初始化
7、对对象进行对应的构造函数的初始化
8、将内存地址付给栈内存中的p变量
单例设计模式
思路:
1、将构造函数私有化
2、在类中创建一个本类的对象
3、提供一个方法可以访问到该对象
class Single//饿汉式
{
private Single(){}
private static Single s=new Single();
private static Single getInstance()
{
return s;
}
}
class Single1//懒汉式
{
private static Single1 s1=null;
private Single1(){}
public static Single1 getInstance()
{
if(s1==null)
{
synchronized(Single1.class)
{
if(s1==null)
{
s1=new Single();
}
}
}
return s1;
}
}
浙公网安备 33010602011771号