对面向对象程序设计三大特征的理解

java 本身是一种面向对象的程序设计语言,因此这三大特征对于学好java语言很重要。
面向对象程序语言的三大特征分别是:1.封装,2.继承,3.多态
第一个特征:封装:
封装:简单地说就是把数据和方法放在一个类里面包装起来。
封装的形式:
修饰符 class 类名
{
成员变量:
修饰符 返回类型  方法名(【参数1,参数2,参数3...】)
{
局部变量;
方法体
}
}
简单代码形式:
public class Test
{
public int add(int a ,int b)
{
return a + b;
}
public static void main(String [] arsg)
{
int x = 3;
int y = 5;
Test test = new Test();
int m =test.add(int x,int y);
System.out.println(m);
}
}
方法只能调用,不能嵌套。在这里面方法可以通过引用类型的变量来调用;如何生成引用类型的变量:
类名 变量名 = new 类名();
变量名.方法名(参数);
注意:在调用方法是,方法的实际参数类型应该与形式参数的类型一致,返回类型的值应该与方法的返回值类型相同。当方法的名字前是void ,这个方法没有返回值,叫无返回值的方法。
第二个特征:继承
继承:当一个类继承了另一个类,通过关键字extends实现继承,被继承的叫父类,继承的类叫子类。
在子类生成对象时,先调用父类不带参数的构造方法,在调用子类不带参数的构造方法。
继承的特点:
父类有的子类可以继承;父类没有的子类可以增加,父类有的子类可以改变;
注意:父类的构造方法不能被子类继承,父类的私有方法不能被子类继承;父类的属性和方法可以被继承。
继承的简单代码形式:Son 继承了 Father
public void Test
{


}
class Father()
{
String name;
public Father()
{

}
public void method()
{
System.out.println("Father");
}
}
class Son extends Father
{
public void method()
{
System.out.println("Son");
}
}
第三个特征: 多态:
多态:简单的说就是父类型的引用指向子类型的对象。
形式 : Father father = new Son ();但是通过引用类型的变量可以调用的是子类的方法(指向谁调用谁),但是调用子类的方法时,首先要看是不是子类重写了父类的方法;如果子类重写了这个父类的方法,就可以通过父类型的引用子类的方法。
Father father = new Son();这个过程体现了类型类型的转化;
有向上类型的转化与向下类型的转化;但是向下类型的转化,必须要强制转化。例如:
Father father = new Son();
Son son =(son) father;//强制类型的转化
son.method();
在向下强制类型转换的过程中,要转换成那个子类的引用,在父类实例化时,父类的引用就要指向这个子类的对象。
如果是:Father father = new father();
Son son = (Son)father;
son.method();//如果父类的引用指向 父类的对象,再强制转化时,就会报异常 ClassCastException
多态的简单代码形式:
public class Test
{
public static void main(String [] args)
{
Father father = new Son();
Son son = (Son) father;
son.method();
}
}
class Father
{
public void method()
{
System.out.println("Father");
}
}
class Son  extends Father
{
public void method()
{
System.out.println("Son");
}
}


你可能感兴趣的:(java,SE)