java数组排序

1.数组

HelloWorld.java

import java.util.Arrays;
public class HelloWorld 
{
	//注释内容主方法
	public static void main(String args[])
	{
		int[] array=  {3,1,4,5,6,2,9,7,8};
		Arrays.sort(array);
		printa(array);
	}
	private static void printa(int [] a)
	{
		for(int i=0;i<a.length;i++)
		{
			System.out.print(a[i]+" ");
		}
	}
}

2. 类和对象

bile.java

public class bike {
	String color="黄色";
	void getMes()
	{
		System.out.println("类的方法");
	}
	public static void main(String args[])
	{
		bike b=new bike();
		System.out.println(b.color);
		b.getMes();
	}
}

3.


public class bike {
	
	String color;
	
	//bike类的构造方法
	public bike(String color)
	{
		this.color=color;
	}
	public void getcolor()
	{
		System.out.println(color);
	}
	
	public static void main(String args[])
	{
		bike b=new bike("黄色");
		b.getcolor();
	}
}

4 :final修饰方法:子类只能继承,不能重写。

——目的:保护父类的某些特殊的数据。
1)重写子类方法:


class father  //父类
{
	String color="黄色";
	public void getMes()
	{
		System.out.println("父类:"+color);
	}
}
public class bike extends father   //子类
{
	String color="绿色";
	public void getMes()   //重写父类方法
	{
		System.out.println("子类:"+color);
	}
	public static void main(String args[])
	{
		
		bike t=new bike();
		t.getMes();
	}
}

运行结果:
子类:绿色

2)final 修饰方法时


class father  //父类
{
	String color="黄色";
	public final void getMes()
	{
		System.out.println("父类:"+color);
	}
}
public class bike extends father   //子类
{
	String color="绿色";
	public void getMes()   //重写父类方法
	{
		System.out.println("子类:"+color);
	}
	public static void main(String args[])
	{
		
		bike t=new bike();
		t.getMes();
	}
}

报错:
错误: 加载主类 bike 时出现 LinkageError
java.lang.VerifyError: class bike overrides final method father.getMes()V

final修饰方法:子类只能继承,不能重写。
所以,修改方法:删除子类中对方法的重写的代码。


class father  //父类
{
	String color="黄色";
	public final void getMes()
	{
		System.out.println("父类:"+color);
	}
}
public class bike extends father   //子类
{
	String color="绿色";
	
	public static void main(String args[])
	{
		
		bike t=new bike();
		t.getMes();
	}
}

运行结果:
父类:黄色

5: static 静态修饰符

static可修饰变量、方法、语句块、内部类。

5.1 静态变量——只存在一份,不随着对象的建立而创建副本。被该类的所有对象共享。

public class bike 
{
	static String color="绿色";
	
	//创建bike类的构造器
	public bike(String color)
	{
		this.color+=color;
	}
	public static void main(String args[])
	{
		
		bike t1=new bike("黄色");
		bike t2=new bike("红色");
		
		System.out.println(t1.color);
		System.out.println(t2.color);
		System.out.println(color);
	}
}

运行结果:

绿色黄色红色
绿色黄色红色
绿色黄色红色

5.2 静态变量的访问

1) 静态方法

  • 1)在静态方法里只能使用静态成员变量:static类型的方法不能访问非static类型的成员变量。
  • 2)在静态方法里不能使用this关键字。 this关键字指的是类的本身,是属于对象的,而静态变量是属于类的。对象存在的时候静态成员变量一定存在,而静态成员变量存在的时候对象不一定存在。
public class bike 
{
	String color="绿色";
	
	public static void main(String args[])
	{
		System.out.println(color);
	}
}

运行报错:
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
Cannot make a static reference to the non-static field color
at bike.main(bike.java:11)

改正方法:
将成员变量color声明为static类型.

public class bike 
{
	static String color="绿色";
	
	public static void main(String args[])
	{
		System.out.println(color);
	}
}

运行结果:
绿色


//在静态方法里使用this关键字报错
public class bike 
{
	//static修饰的静态成员变量
	static String color="绿色";
	
	//定义一个方法来访问静态变量。
	public static void getMes()
	{
		System.out.println(this.color);   //错误:应将this去掉
	}
	public static void main(String args[])
	{
		bike t=new bike();
		t.getMes();
	}
}

报错:
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
Cannot use this in a static context
at bike.getMes(bike.java:11)
at bike.main(bike.java:16)
改正:将静态方法中的this去掉

public class bike 
{
	//static修饰的静态成员变量
	static String color="绿色";
	
	//定义一个方法来访问静态变量。
	public static void getMes()
	{
		System.out.println(color);
	}
	public static void main(String args[])
	{
		bike t=new bike();
		t.getMes();
	}
}

2)非静态方法访问静态成员变量

静态成员变量访问方式:
1) 类名.静态变量名; = this.静态变量名;
2) 静态变量名; //直接访问

public class bike 
{
	//static修饰的静态成员变量
	static String color="绿色";
	
	//定义一个方法来访问静态变量。
	public void getMes()
	{
		System.out.println(bike.color);
		//System.out.println(color);   //都可以
		//System.out.println(this.color);  //都可以
	}
	public static void main(String args[])
	{
		bike t=new bike();
		t.getMes();
	}
}

运行结果:
绿色

5.3 静态常量——唯一的、不可变的、只存在一份的数据。

用static和final两个关键字来修饰成员变量。
静态常量:系统不会为其分配默认值,程序员必须进行初始化。

//声明两个静态常量
public static final int i=11;
public static final float i=11.0F;
public static final double PI=3.14;
  • static 关键字修饰成员变量属于类,随着类的创建而创建;
  • final关键字修饰成员变量的值是不能改变的;
  • static关键字和final关键字没有先后顺序之分。

5.4 静态块——静态块和静态成员变量都属于类,不属于对象。

常量和静态块随着类的创建而存在,当然也可以给常量进行赋值。

public class bike 
{
	static
	{
		PI=3.14;
	}
	public static final String color="绿色";
	public static final double PI;
	
	public static void main(String args[])
	{
		System.out.println(color);
		System.out.println(PI);
	}
}

运行结果:
绿色
3.14

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值