Java知识点

关于static关键字

  • static修饰的成员,不能被非static修饰的成员访问
  • 被static修饰的变量称为类变量,被static修饰的方法称为类方法,他们被类的实例共享
  • 使用static定义的方法可以由类名称直接调用
  • 使用static类型声明的方法时,需要注意:如果类中声明了一个static类型的属性,则此类属性既可以在非static类型的方法中使用,也可以在static类型的方法中使用,但若要用static类型的方法调用非static类型的属性,就会出现错误。

关于类的封装、继承与多态

封装

私有private默认default保护protected公有public
只有内部类允许私有,只能在当前类中被访问可以被当前包中的所有类访问只有内部类可以设为保护权限,相同包中的类和其子类可以访问可以被所有类访问
属性只能被当前类访问可以被相同包中的类访问可以被相同包中的类和其子类访问可以被所有类访问
方法只能被当前类访问可以被相同包中的类访问可以被相同包中的类和其子类访问可以被所有类访问

继承

  • 防止代码重用
  • 一个类只能集成一个类而不能继承多个类
  • 虽然java不能使用多重继承但是可以使用多层继承,
  • 从父类继承的私有成员,不能被子类直接使用
  • 子类在进行对象实例化时,从父类继承而来的数据成员需要先调用父类的构造方法来初始化,然后再用子类的构造方法来初始化本地的数据成员。
  • 被final修饰的方法不能被子类覆写实例,被final修饰的类不能再被继承

覆写

  • 属性的覆盖,指的是子类定义了和父类之中名称相同的属性
  • 方法的覆写重载有相似之处,重载,即,方法名相同,方法的参数不同;覆写,如果子类中的方法与父类中的方法名称、参数个数及类型且返回值类型都完全一致,就称子类的方法覆写了父类中的方法。

多态

  • 方法的多态性,即通过传递不同的参数来令同一方法接口实现不同的功能。
  • 对象的多态性:向上转型和向下转型
  • 向上转型,父类对象通过子类对象去实例化,实际上就是对象的向上转型。向上转型是不需要进行强制类型转换的,但是向上转型会丢失精度。
  • 向下转型,与向上转型对应的一个概念,也就是说父类的对象可以转换为子类对象,但是需要注意的是,这时必须进行强制类型转换。
  • 向上转型可以自动完成,向下转型必须进行强制类型转换。
class Animal{
	public void move(){
		System.out.println("动物移动");
	}
}

class Fish extends Animal{
	public void move(){
		System.out.println("鱼儿游!");
	}
}
class Bird extends Animal{
	public void move(){
		System.out.println("鸟儿飞!");
	}
}
class Horse extends Animal{
	public void move(){
		System.out.println("马儿跑!");
	}
}

public class ObjectPoly{
	public static void main(String[] args){
		Animal a;
		Fish f = new Fish();
		Bird b = new Bird();
		Horse h = new Horse();
		a = f; a.move();
		a = b; a.move();
		a = h; a.move();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值