Java特性及其优点的介绍
Java的三个基本特性分别是:封装,继承,多态。
首先来说封装,是对类中方法和变量的实现细节进行隐藏,使程序员把注意力更多的放到代码逻辑上,而并非这些重复的bean和method的创建上。
其次来说继承,从某些方面来说继承的出现打破了封装性,因为继承可以使子类拥有父类的所有非静态和非私有化属性和方法,且java支持的继承模式为单继承,即一个子类只能继承一个父类的资源,虽然一定程度 上打破了代码的封装性,但是更大的作用在于对方法和属性的重用。
最后来说多态,顾名思义,一段逻辑的多种形态,概念即说明其优点。
java多态的实现有以下途径:分别为,重载,重写和向上造型。
① 重载,发生在同一类中出现方法签名一致但是参数列表不同的方法,即为重载。
② 重写,发生在父类之间基于继承关系实现的,子类对父类非静态和非私有化方法的重写定义,方法签名和返回值完全一致,但其中内容有改动且对父类方法实现覆盖。
③ 向上造型,可以看看如下的例子:
public static void main(String[] args) {
//由声明方式可以看出,向上造型的声明格式为父类声明子类创建
Person pstu = new Student();
System.out.println("name="+pstu.name);
pstu.sayHi();
//编译不通过,父类不能直接调用子类属性和方法
//pstu.className;
//pstu.stuTalk();
}
//父类
class Person {
String name; //例子属性,表示一个人的名字
public Person() {
name = "Person"; //初始化一个值
System.out.println("I'm Person!");
}
//定义sayHi()方法,默认输出HelloWorld
protected void sayHi() {
System.out.println("HelloWorld!");
}
}
//子类
class Student extends Person {
String className; //班级名
public Student() {
name="haydn"; //为父类里的name重新赋值
className = "菜鸟营一班"; //为className赋值
System.out.println("I'm Student");
}
//这里重写了父类的sayHi方法
protected void sayHi() {
System.out.println("stuName=" + name);
System.out.println("stuClassName=" + className);
}
public void stuTalk() {
System.out.println("I like Java");
}
}
可以注意到,父类不能引用子类的方法,只能由子类引用父类的方法,这一点是要特别注意的!!!!!!!!
友情提示,新人博主,多多关注,预祝大家,天才附体,面试无敌。