Java进阶篇

------- android培训java培训、期待与您交流! ----------

1、继承

(1)在使用继承时应注意,子类是不能直接访问父类中的私有成员变量,子类可以调用父类的非私有方法,但是不能直接调用父类中的私有成员。

(2)子类对象的实例化过程:

先调用父类构造方法————>再调用子类构造方法。

(3)方法的覆写

在继承关系中也存在方法覆写的概念,但被子类覆写的方法不能比父类方法更加严格的访问权限。

class Person
{
	void print()//属于默认访问即,default访问权限
	{
		System.out.print("父类");
	]
}

class Student extends Person
{
	public void print()//扩大了访问权限
	{
		System.out.print("子类继承后覆写父类方法");
	}
}


2、final关键字

(1)使用final声明的类不能有子类。

(2)使用final声明的放安防不能被子类所覆写。

(3)使用final声明的变量即成为常量 常量不可以修改。


3、为什么在进行字符串判断时要把字符串常量写在前面?

if("aa".equals(className))
{
	f = new A();
}
//不写成下面这一种
if(className.equals("aa"))
{
	f = new A();
}
//主要原因就是为了避免空指针异常

4、匿名内部类

interface A
{
	public void print();//接口抽象方法
}

class B
{
	public void fun()
	{
		this.test(new A()//匿名内部类
		{
			public void print()
			{
				System.out.print("实现接口方法");
			}
		})
	}
	public void test(A a)
	{
		a.print();//调用接口方法
	}
}
以上程序中,A是接口,接口本身是不能直接进行实例化,所以在接口实例化后面要加一个{},用于实现接口中的抽象方法。

5、异常捕获

throw和throws的综合应用:

class Math
{
	public int div(int i,int j) throws Exception//方法可以不处理异常
	{
		System.out.print("开始计算");
		int temp = 0;
		try
		{
			temp = i/j;
		}catch (Exception e)
		{
			throw e;//捕获异常,把异常交给被调用处
		}finally
		{
			System.out.print("计算结束");
		}
	}
}

public class Main
{
	public static void main(String[] args)
	{
		Math m = new Math();
		int result = m.div(10,0);
		try
		{
			System.out.print(result);
		}catch (Exception e)
		{
			System.out.println("异常"+e);
		}
	}
}
自定义异常类:

public class Main
{
	public static void main(String[] args)
	{
		try
		{
			throw new MyException("自定义异常。");
		}catch (Exception e)
		{
			System.out.println(e);
		}
	}
}
class MyException extends Exception
{
	public MyException(String msg)
	{
		super(msg);
	}
}

8、包
(1)编译程序时若想生成包名:javac -d. Test.java。

-d:表示生成目录。

.:表示在当前所在文件夹中生成。

(2)jar命令的使用

jar命令参数:

c:创建新的文档。

V:生成详细的输出信息。

F:指定存档的文件名。

例如:有编译好的类:com/zlf/demo/Hello.class.可以将其进行打包。

jar -cvf my.jar com。这样就将上面的com/....等打包成my.jar包了。将其设置在classpath中,就可以调用了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值