package test;

public class Car {
private int carMoney; //汽车租金
private String carName; //汽车名字
private int carNumb; //汽车序列号
private int carryNum; //载货量
private int passengerNum;//载客人数 public Car(int carNumb,String carName,int carMoney,int passengerNum,int carryNum){
this.carMoney = carMoney;
this.carName = carName;
this.carNumb = carNumb;
this.carryNum = carryNum;
this.passengerNum = passengerNum;
}
public int getCarMoney() {
return carMoney;
}
public void setCarMoney(int carMoney) {
this.carMoney = carMoney;
}
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
public int getCarNumb() {
return carNumb;
}
public void setCarNumb(int carNumb) {
this.carNumb = carNumb;
}
public int getCarryNum() {
return carryNum;
}
public void setCarryNum(int carryNum) {
this.carryNum = carryNum;
}
public int getPassengerNum() {
return passengerNum;
}
public void setPassengerNum(int passengerNum) {
this.passengerNum = passengerNum;
} public void showInfo() {
// TODO Auto-generated method stub
} public static void main(String[] args){
Car as=new Car(0,"sende",200000,23,32);
System.out.println(as.carMoney);
/**
*
* 子类可以继承父类的变量
* ①子类和父类在同一个包中时,子类可以继承父类的除private属性的所有方法和成员变量,当子类与父类不在同一个包中时,子类只能继承父类的protected和public属性的成员变量和方法。
* ②子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,子类就隐藏从父类继承来的方法(方法的重写)。
* ③在子类中允许有一个方法和父类的方法名字相同而类型不同。
*
* 在这个测试类中可以看到,可以直接使用类对象获取父类中的属性,即使该属性是私有属性,而使用其子类的对象获取对应属性,却无法使用对象名.属性,
* 只能通过公有的get方法获取属性,可以看出在子类的构造方法中的该 变量不是子类的,而是父类的,super关键字的作用是调用父类的构造方法,且必须
* 放在构造器的首行
* this和super分为调用和引用。只可以引用父类构造器,不可以调用。引用只可以出现在构造器的第一行。
* super引用的是父类的构造方法而不是父类的属性,如果将父类的构造方法变为私有你就可以发现子类的使用super的构造出错了。因为super调用的使父类
* 的构造方法,所以在走父类构造器中的this代表的是父类,赋值给的属性也是父类的,这里子类中继承的感觉是父类属性的一个映射,因为它受到父类中的修饰
* 词的影响,不完全属于子类
* 不知道正确不正确,我的看法,欢迎指出问题,谢谢
*/
Sedan sd=new Sedan(0,"sende",200000,23,32);
System.out.println(sd.getCarNumb()); }
} class Sedan extends Car{
public Sedan(int carNumb,String carName,int carMoney,int passengerNum,int carryNum){
super(carNumb,carName,carMoney,passengerNum,carryNum);
}
} class Pickup extends Car{
public Pickup(int carNumb,String carName,int carMoney,int passengerNum,int carryNum){
super(carNumb,carName,carMoney,passengerNum,carryNum);
}
}

关于父类私有属性在子类构造函数中super调用的解释的更多相关文章

  1. 尝试解决在构造函数中同步调用Dns.GetHostAddressesAsync()引起的线程死锁

    (最终采用的是方法4) 问题详情见:.NET Core中遇到奇怪的线程死锁问题:内存与线程数不停地增长 看看在 Linux 与 Windows 上发生线程死锁的后果. Linux: Microsoft ...

  2. C++构造函数中不能调用虚函数

    在构造函数中调用虚函数,并不会产生多态的效果,就跟普通函数一样. c++ primer 第四版中497页15.4.5构造函数和析构中的虚函数讲到,如果在构造函数或析构函数中调用虚函数,则运行的是为构造 ...

  3. python语言中多继承中super调用所有父类的方法以及要用到的MRO顺序

    在python多继承中,利用super().父类方法,可以调用所有父类,从而在重写的状态下,再次对所有父类的调用! 例: print("******多继承使用super().__init__ ...

  4. Java中子类能继承父类的私有属性吗?

    前段时间去听老师讲课的时候,老师告诉我子类是可以继承父类所有的属性和方法的.当时我是极其疑惑的,因为之前学校考试时这个考点我记得很清楚:子类只能继承父类的非私有属性和方法.老师给我的解释是这样的--先 ...

  5. [Effective JavaScript 笔记]第38条:在子类的构造函数中调用父类的构造函数

    示例 场景类 场景图(scene)是在可视化的过程中(如游戏或图形仿真场景)描述一个场景的对象集合.一个简单的场景包含了在该场景中的所有对象(称角色),以及所有角色的预加载图像数据集,还包含一个底层图 ...

  6. PHP中的__get()和__set()方法获取设置私有属性

    在类的封装中,获取属性可以自定义getXXX()和setXXX()方法,当一个类中有多个属性时,使用这种方式就会很麻烦.为此PHP5中预定义了__get()和__set()方法,其中__get()方法 ...

  7. java代码---继承-子类使用继承父类的属性。理解测试

    总结:对于继承.如果父类有的成员变量而子类没有,那么子类的成员变量赋值是来自于父类的,当在子类构造方法赋值时,它和父类的成员变量值是一样的 当成员变量在父类和子类中都存在时,父类用父类的属性,子类用子 ...

  8. python 类中的公有属性 私有属性 实例属性

    class parent(): i=1 __j=2 class child(parent): m=3 __n=4 def __init__(self,age,name): self.age=age s ...

  9. JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

随机推荐

  1. Oracle SQL语句积累

    字段合并: select EVFOUNDATIONTYPEA || EVFOUNDATIONTYPEB|| EVFOUNDATIONTYPEC ||EVFOUNDATIONTYPED as b fro ...

  2. gcc安装多个版本

    http://blog.csdn.net/chid/article/details/6251781

  3. Android初体验之Monkey和MonkeyRunner

    原文地址https://blog.csdn.net/mad1989/article/details/38087737 Monkey 什么是Monkey Monkey是Android中的一个命令行工具, ...

  4. Java基础知识 Set

    在Java中使用Set,可以方便地将需要的类型以集合类型保存在一个变量中.主要应用在显示列表.Set是一个不包含重复元素的 collection. 更确切地讲,set 不包含满足 e1.equals( ...

  5. 3.8 Templates -- Actions

    一.The {{action}} Helper 你的应用程序通常会需要一种方法来让用户用控件交互改变应用程序状态. 例如,你有一个显示blog post的模板,并支持用额外的信息扩展post. 可以使 ...

  6. Rails的HashWithIndifferentAccess

    ruby 2.0 引入了keyword arguments,方法的参数可以这么声明 def foo(bar: 'default') puts bar end foo # => 'default' ...

  7. 32Sql数据库的插入

    上一节讲了数据库的连接,本例直接将数据库的插入操作,重点还是QSqlQuery类 QSqlQuery query; //新建二维表 query.exec("CREATE TABLE stud ...

  8. 用通俗的语言解释restful

    实现了REST规范的Web API就叫RESTful API. 简单来说:就是用url定位资源,用http描述来操作资源. web是什么:分布式信息系统为超文本文件和其他对象(资源)提供访问入口. 资 ...

  9. 20145322何志威《网络对抗》逆向及Bof基础

    20145322何志威<网络对抗>逆向及Bof基础 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任 ...

  10. HBase Shell相关

    1.进入hbase命令行 ./hbase shell 2.基本命令 显示hbase中的表List list 查询user表中的所有信息Scan scan 'users' 清空user表中的数据Trun ...