当前位置:   article > 正文

2018年6月20日 周测_overrriding 可能在同一个类里吗

overrriding 可能在同一个类里吗
  1. package com.dodoke2;
  2. /**
  3. * 类名 Person
  4. *@author 邱银
  5. *@version 2018年6月20号
  6. *
  7. */
  8. public class Person {
  9. private String name;
  10. private int age;
  11. /**
  12. * 空构造器
  13. */
  14. public Person() {
  15. }
  16. /**
  17. * 带参数的构造器
  18. * 作用:赋值
  19. */
  20. public Person(String name,int age) {
  21. this.name = name;
  22. this.age = age;
  23. }
  24. /**
  25. * Getter用来调用,Setter用来赋值
  26. * @param name字符串 , age数值型,
  27. */
  28. public String getName() {
  29. return this.name;
  30. }
  31. public void setName(String name) {
  32. this.name = name;
  33. }
  34. public int getAge() {
  35. return this.age;
  36. }
  37. public void setAge(int age) {
  38. if(age > 0 && age < 140) {
  39. this.age = age;
  40. return;
  41. }
  42. System.out.println("年龄非法");
  43. }
  44. public String toString() {
  45. return "Name:" + this.name +"," + "Age:" + this.age;
  46. }
  47. }
  48. /**
  49. * 类名 Student
  50. *@author 邱银
  51. *@version 2018年6月20号
  52. *
  53. */
  54. class Student extends Person {
  55. private String school;
  56. /**
  57. * 重写构造器
  58. */
  59. public Student(String name,int age,String school) {
  60. super(name,age);
  61. this.school = school;
  62. }
  63. }
  64. /**
  65. * 类名 Client1
  66. *@author 邱银
  67. *@version 2018年6月20号
  68. *
  69. */
  70. class Client1 {
  71. /**
  72. *main方法在控制台打印输出
  73. */
  74. public static void main(String[] args) {
  75. Person jack = new Person();
  76. jack.setName("jack");
  77. jack.setAge(20);
  78. System.out.println(jack.toString());
  79. }
  80. }
1.JDk、JRE、JVM分别是什么?他们之间的关系是什么?

(1).Jdk是Java开发工具包。

(2).JRE是Java运行时的环境。

(3).JVM是Java运行时的虚拟机。

JDK是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。



2.Java支持的数据类型有哪些?什么是自动拆装箱?

Java的数据类型包括基本数据类型和引用数据类型两大类。

基本数据类型包括整数类型、浮点类型和字符型。

整数型:byte、short、int、long。
浮点型:double、float。

字符型:char。

布尔型:boolean

引用数据类型包括类类型、接口和数组。

自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。因为这里的装箱和拆箱是自动进行的非人为转换,所以就称作为自动装箱和拆箱.



3.什么是面向对象编程?面向对象编程的基本特征有哪些?请分别阐述对这些基本特征的理解。

在完成一件事情时,会将事情中的实体对象抽象出来,形成「类」的概念,事情的完成是通过类的对象之间发生关系去实现的。

面向对象的基本特征包括封装、继承和多态。

封装:隐藏方法的实现细节,让使用这只能通过预先定义的方法来访问数据,从而可以在方法中加入一些控制逻辑,限制对成员变量的不合理访问。

继承:继承是实现软件复用的重要手段,子类可以访问父类中的非private修饰的成员变量。

多态:Java引用类型变量有两种类型:一种是编译时的类型,一种是运行时的类型。如果运行时的类型和编译时的类型不一致就会出现所谓的多态。



4.能否在static环境中访问非static变量?请说明理由。
不能,因为静态的成员属于类,随着类的加载而加载到静态方法区内存,当类加载时,此时不一定有实例创建,没有实例,就不可以访问非静态的成员。



5.我们说方法的参数传递是值传递,类变量在传递的时候,传递的是其引用地址,请简要说明你对这句话的理解,
可以图示和代码的方式解释。


方法的参数传递是拷贝值(基本数据类型是拷贝它本身的值,引用数据类型拷贝的是对象的引用,地址)副本



6.Java中的Overrriding和Overloading是什么意思?

Overloading:方法重载 如果在一个类中,两个或多个的方法方法名相同但形参列表不同,我们就把它成为方法重载。

Overrriding:方法重写 发生在子类和父类中间,重写方法也叫覆盖方法,当子类需要修改父类的某个方法时,需要进行方法重写



7.请手写一个饿汉式的Sinleton类。

public class Singleton{   
 
    private static final Singleton instance = new Singleton();  
      
    private Singleton(){}  
 
    public static Singleton getInstance(){  
        return instance;  
    }  


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/763315
推荐阅读
相关标签
  

闽ICP备14008679号