java定义类employee类两个成员变量,两个构造方法?


面向对象三要素:封装、继承、多态


细节(变量和方法)隐藏,成员变量设置为私有(private),然后提供set和get方法读和取。
通俗的讲,封装就是不允许直接访问成员变量,必须通过set和get方法来访问。
优点:安全,便于重构。

1 通过 this 关键字可以明确地去访问一个类的成员变量,解决与局部变量名称冲突的问题。
2 通过 this 关键字调用成员方法.
3 可以在一个构造方法中去使用 "this([参数1,参数2…])"的形式去调用其他构造方法。

1 只能在构造方法中使用this去调用其他构造方法
2 this关键字调用构造方法只能放在第一行,且只出现一次
3 不能在同一个类的两个构造方法中互调,产生编译错误

通过关键字extends来声明子类与父类的继承关系:子类 extends 父类
1 所有类都有父类,即所有类都派生于Object类
2 只能单亲继承,即每个子类只能有一个父类
3 子类可以直接使用继承的变量和方法,不需要再在子类中声明或写出
4 子类只能继承父类的非private修饰的变量和方法
5 如果子类中公有的方法影响到了父类的私有属性,那么私有属性是能够被子类使用的。即通过父类的公有方法访问到父类的私有变量。

创建一个子类对象时,首先调用父类的无参构造方法,再调用子类的无参构造方法。


若想调用父类的有参构造方法:

表示当前类的父类对象,可以使用super关键字实现对父类变量和方法的访问
注意:在子类的构造方法中,无论写不写super(),java都会默认使用super()调用父类的构造方法

super调用父类构造方法
1 在子类中,可以通过super()调用父类的构造方法
2 super()只能调用一次,且必须在子类构造方法的第一行
(如果super仅表示当前类的父类对象,用来访问父类的变量和方法等,则没有此限制)

重载的是方法的参数列表

3 参数列表不同(个数,数据类型,顺序)

参数列表不同跟变量名称没关系
返回值的类型是否改变,跟方法是否重载没关系,不能作为重载的依据

子类继承了父类的方法,对父类的方法中的执行代码进行修改以满足子类业务的需要,这就是重写。

1 重写发生在子父类当中
2 方法名、参数列表、返回值类型均相同
3 重写的方法,方法体不同,或者访问控制修饰符不同
4 子类方法的访问权限不能缩小
5 静态方法(static)不能进行重写(因为静态资源只加载一次)

生成的对象,在调用父类方法时,如果方法被子类重写,则调用的是子类重写的方法。

没有继承就没有多态。代码当中体现多态性: 父类引用指向子类对象->父类 对象名 = new 子类()

抽象类不能被实例化(不能new对象),它的作用是提供给其他类进行继承。

修饰类,类为抽象类,不能被实例化;
修饰方法,方法为抽象方法,只有方法的签名,没有方法体;

1 抽象类不能实例化,即抽象类不能创建对象;
2 子类继承抽象类,必须实现该抽象类当中所有的抽象方法;

3 抽象类,可以包含抽象方法和非抽象方法以及变量;

4 如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误
5 抽象类可以有父类,但是父类必须有一个无参的构造函数,否则,抽象类必须声明一个与父类相同的有参构造方法;

2 子类实现接口,并重写接口的所有的签名方法;
3 接口只有方法的签名和变量;
6 接口不能自身实例化,接口的实现类可以实例化;
7 接口可以实现多个,而父类只有一个(单亲继承),而且必须先继承(extends)父类再实现(implements)接口;

1 解决Java中的单亲继承问题(继承只能单亲继承,但是一个类可以实现多个接口)
2 接口可以实现并行开发

  • 向上转型:子类对象 向父类转型
    1 将一个 父类的引用 指向一个子类对象,称为向上转型;此时自动进行类型转换(即可以理解为创建了一个父类类型的子类对象)
    2 通过父类的引用调用的方法,是子类重写或继承父类的方法,而不是父类原本的方法,更不是子类特有的方法;
    3 通过父类的引用无法调用子类特有的方法,即向上转型的子类对象只能调用继承自父类的方法,而不能调用子类独有的方法,方法数量缩小,安全

  • 向下转型:父类对象 向子类转型
    父类对象向子类转换需要强制类型转换;
    1 将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型
    2 只有Object有向下转型的可能

}

Java:1。定义父类Point,包含两个成员变量x,y和参数的构造方法,子类Point3D增加一个静态变量c用来统计主类中所创建子类对象的个数,输出子类的全部成员变量的值2。将上题中的主类和父... Java:
1。定义父类Point,包含两个成员变量x,y和参数的构造方法,子类Point3D增加一个静态变量c用来统计主类中所创建子类对象的个数,输出子类的全部成员变量的值
2。将上题中的主类和父类子类保存,保存在不同的目录中,添加包声明和包引用语句
3。将第一题修改为抽象类,接口进行练习
谢谢各位大虾!!!!!


· TA获得超过2.8万个赞

您的进步是我最大的动力,如果你觉得我回答的合理的话,请给我多加分。谢谢,如果不明白的话,大家相互学习啊!

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

下载百度知道APP,抢鲜体验

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 给成员变量赋值有几种方法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信