已经学了几天的java了,这两天学到了关于继承和接口的一些东西。还是学完过后谈谈自己的一些总结、理解和感想。
谈到继承,我觉得这个和字面上的意思是几乎差不多,就像是儿子继承父亲的财产一样,儿子拥有了父亲的东西,同时儿子也会有自己不同的东西。继承中要分父类和子类:
父类:作为被继承的那一个类,其非私有的属性和方法都可以被子类继承;
子类:子类时继承父类的那一个类,可以继承父类的非私有的属性和方法。
在继承的中会有重写。重写:在子类中从新定义父类中有的某个属性或者方法,这个方法或属性会覆盖原来父类的方法或者属性。
eg:
父类:public class man{
public void study(...){
.......
}
}
子类:public class student extends man{
public void study(...){
。。。。。。
}
}
这就是一个重载的例子
提到重写,就会想到类中的重载。重载:在同一个类中,定义多个一样的属性或者方法,但是这个属性或者方法的参数的类型应该不相同。
eg: public class student{
public void study(){
......
}
public void study(){
.......
}
}
在继承中还有一个重要的东西——接口:接口:就是比类更抽象的一个数据类型,不能定义它具体的方法或者属性;定义它的话:用 public interface Person 其类型前面 是 public static final (可以省略,也可以只写其中一个)
作用:1.作为数据类型 2.给子类扩展
继承中还有一些规则:
1.) 一个class 只能extends 一个类(即单根继承);
eg:public class student extends human{
...........
}
(2.)一个class可以implements多个interface
eg:public class student implements man{
......
}
(其中 如果多个interface中有相同的方法或者属性的话,
class中只显示一个,即他们是覆盖的)
(3)一个interface 可以extends多个interface
eg;public interface children exstends renlei{
......
}
(4)一个class 可以extends一个class加多个interface
符号;extands
eg: public class UnStudent extends Student{
.......
}
呵呵 当然这只是我所知道的一些规则,因为是新手,肯定会有归纳不全的,还请大家指出或者提醒一下!
因为java中有继承和重写,所以就有了多态相同类型的方法和属性其执行的结果可能会不同。 还有需要注意的是:子类的特有的属性和方法只有子类的类型才可以调用,如果是以父类的类型创建的一个新的类,则不可调用。
学了好几天java了,对java的了解又多了一点点,虽然我现在是菜鸟,还处于学徒阶段,但是大神们都是这样过来的,对自己说声:加油!
谈到继承,我觉得这个和字面上的意思是几乎差不多,就像是儿子继承父亲的财产一样,儿子拥有了父亲的东西,同时儿子也会有自己不同的东西。继承中要分父类和子类:
父类:作为被继承的那一个类,其非私有的属性和方法都可以被子类继承;
子类:子类时继承父类的那一个类,可以继承父类的非私有的属性和方法。
在继承的中会有重写。重写:在子类中从新定义父类中有的某个属性或者方法,这个方法或属性会覆盖原来父类的方法或者属性。
eg:
父类:public class man{
public void study(...){
.......
}
}
子类:public class student extends man{
public void study(...){
。。。。。。
}
}
这就是一个重载的例子
提到重写,就会想到类中的重载。重载:在同一个类中,定义多个一样的属性或者方法,但是这个属性或者方法的参数的类型应该不相同。
eg: public class student{
public void study(){
......
}
public void study(){
.......
}
}
在继承中还有一个重要的东西——接口:接口:就是比类更抽象的一个数据类型,不能定义它具体的方法或者属性;定义它的话:用 public interface Person 其类型前面 是 public static final (可以省略,也可以只写其中一个)
作用:1.作为数据类型 2.给子类扩展
继承中还有一些规则:
1.) 一个class 只能extends 一个类(即单根继承);
eg:public class student extends human{
...........
}
(2.)一个class可以implements多个interface
eg:public class student implements man{
......
}
(其中 如果多个interface中有相同的方法或者属性的话,
class中只显示一个,即他们是覆盖的)
(3)一个interface 可以extends多个interface
eg;public interface children exstends renlei{
......
}
(4)一个class 可以extends一个class加多个interface
符号;extands
eg: public class UnStudent extends Student{
.......
}
呵呵 当然这只是我所知道的一些规则,因为是新手,肯定会有归纳不全的,还请大家指出或者提醒一下!
因为java中有继承和重写,所以就有了多态相同类型的方法和属性其执行的结果可能会不同。 还有需要注意的是:子类的特有的属性和方法只有子类的类型才可以调用,如果是以父类的类型创建的一个新的类,则不可调用。
学了好几天java了,对java的了解又多了一点点,虽然我现在是菜鸟,还处于学徒阶段,但是大神们都是这样过来的,对自己说声:加油!