Java面向对象的三大特征
java面向对象的三大特征:“封装、继承、多态”。更多Java技术知识,请登陆疯狂软件教育官网。微信搜索微信号:疯狂软件,参加2015年优惠活动,有机会获得优惠劵和代金劵。
以本文为例,User类中的变量为私有变量,只能通过创建对象(此时构造方法自动调用)来赋值。
外界只能通过公有方法api()来访问User类。
Admin类继承了User类,调用了其构造方法,还重写了method_1方法,增加了一个特有方法power()。
User文件
publicclassUser{
/**
*私有变量,仅限本类访问
*/
privateStringname;
privateintage;
/**
*构造方法,自动调用
*/
publicUser(Stringname,intage){
this.name=name;
this.age=age;
}
/**
*私有方法,仅限本类访问
*/
privatevoidmethod_1(){
System.out.println("iama"+name+";myageis:"+age);
}
/**
*可被子类继承、覆盖和同包调用
*/
protectedvoidmethod_2(){
System.out.println("iamnotoverride");
}
/**
*公有方法,对外接口
*/
publicvoidapi(){
method_1();
method_2();
}
}
Admin文件
publicclassAdminextendsUser{
/**
*构造方法
*/
publicAdmin(Stringname,intage){
//使用父类的构造方法
super(name,age);
}
/**
*覆盖父类的同名方法
*/
protectedvoidmethod_2(){
System.out.println("NO,youareoverride");啊
}
/**
*子类特有方法
*/
publicvoidpower(){
System.out.println("adminispowerful");
}
}
Main文件
publicclassMain{
publicstaticvoidmain(String[]arg){
//实例化一个User对象,并调用User的公有方法
Usera=newUser("user",12);
a.api();
//输出换行,方便区分不同的代码
System.out.println();
//实例化一个Admin对象,并调用Admin的两个方法
Adminadmin_me=newAdmin("admin",23);
admin_me.api();//继承自User父类
admin_me.power();//自身独有的方法
System.out.println();
/**
*多态性
*/
Usertest_admin=newAdmin("test_admin",34);
test_admin.api();
//test_admin.power();//User中没有声明power这个方法,所以不能使用
}
}
以上所述就是本文的全部内容了,希望大家能够喜欢。