美文网首页
对象和类型

对象和类型

作者: 少冰三hun甜 | 来源:发表于2017-02-07 15:20 被阅读18次

1.类和对象有什么区别

  • Java的类用class关键字定义,它代表了一种抽象的集合,例如,动物类,植物类,在它里边可以定义各种属性和方法,它们代表了每个类实例的特定的数据和动作。Java虚拟机只对类加载一次,对他的静态成员也只加载一次。
  • 对象指的是某一特定抽象的实例,它属于某一种类型,是通过类来创建的。它必须属于某一个类,通过new关键字创建,它代表一个特定类型的实例,对象可以被多次创建。

2.Java中如何使用继承来重用代码

java中使用单继承制,使用extends关键字,通过继承之后,子类就拥有了父类除开私有成员以外的所有成员,从而达到代码重用的目的。再继承过程中,可以通过方法的覆盖来实现多态,让子类拥有自己独特的方法实现方式。

深入解析:

一继承的理解:
继承是面向对象的三大特性之一,是java中实现代码重用的重要手段之一。Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法。子类可以重写父类的方法,及命名与父类同名的成员变量。但Java不支持多重继承,即一个类从多个超类派生的能力。
二.继承相关
1.继承public和protected修饰的属性和方法,无论子类和父类是否在同一个包中。
2.继承默认权限修饰符(friendly)修饰的属性和方法,但子类和父类必须在同一个包中。
3.无法继承private修饰的属性和方法。
4.无法继承父类的构造方法。
5.子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法
6.子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量被隐藏
三.访问修饰符访问权限。


四.子类满足重写父类方法的要求。
01.重写方法和被重写方法必须具有相同的方法名。
02.重写方法和被重写方法必须具有相同的参数列表。
03.重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类。
04.重写方法不能缩小被重写方法的访问权限。
五.重写方法和重载有什么区别和联系。
解析:重载涉及同一个类中的同名方法,要求方法名相同,要求参数列表不同,与返回值类型,访问修饰符无关,而重写涉及的是子类和父类之间的同名方法,要求方法名称相同,参数列表相同,
返回值类型相同,访问修饰符不能严于父类。
六.super关键字的用途。
super代表对当前对象的之前直接父类对象的默认引用。在子类中可以通过super关键字来访问分类的成员。
注意点:
1.super必须出现在子类(子类的方法和构造方法)中,而不是其他位置。
2.可以访问父类的成员,如父类的属性,方法,构造方法。
3.注意访问权限的限制,如无法通过super访问private成员。
相关博客:继承容易犯的错误

3.简述Java中的多态

【答案】:“多态”按字面来理解为“多种形式,多种状态”。它的本质是,发送消息给某个对象,让对象自行决定响应哪种行为。
多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
java中的多态详解

4.介绍Java中静态成员的特点

【答案】类的静态成员是通过static关键字修饰的成员,主要包括:静态成员变量、静态方法和静态代码块、它们具有以下一些特点。

  • 在类加载的时候,就进行创类和初始化或执行代码。
  • 他们对于一个类来说是独一份的。
  • 类的所有实例都可以访问到他们。
    静态成员分析

5.简书Java派生类中的构造方法如何为父类传递参数

【答案】

在Java中,使用super关键字加括号()的形式来为父类的构造方法提供参数,通过参数的数目和类型来决定调用哪一个构造方法。如果调用的是父类的默认无参构造方法,则可以不用显示调用super()方法。

代码示例:

class Animal{
    public Animal(String s) {
        System.out.println("我是:"+s);
    }
    public void  eat() {
        System.out.println("动物具有吃的能力");
    }
}
class Dog extends Animal{
    public Dog() {
        super("动物");
    }
public void  eat() {
super.eat();    
}
}


public class ExtendsTest {

    public static void main(String[] args) {
    Dog dog=new Dog();
    dog.eat();
    }
}

super关键字


6.简述接口和抽象类的区别

相关文章

  • 对象和类型

    1.类和对象有什么区别 Java的类用class关键字定义,它代表了一种抽象的集合,例如,动物类,植物类,在它里边...

  • 对象和类型

    学生的属性 姓名 性别 年龄 身高 体重 籍贯 五种基本对象类型 字符串string,简记为str使用''或""括...

  • 基础类型和对象类型

    静态类型分为两种,基础类型和对象类型 基础类型包括 number string null undefined sy...

  • 对象

    1.对象分为值类型和引用类型 值类型(不是对象) 引用类型(都是对象) 类型的判断值类型判断用typeof引用类型...

  • q第三章 类型、值和变量

    数据类型: 原始类型(primitive type)和对象类型(object type)。原始类型包括: 对象是属...

  • 01_JS面向对象

    知识点 数据类型 值类型和引用类型 值类型和引用类型的特征 值类型和引用类型做参数 对象的动态特性 给对象动态添加...

  • 关于类型和对象

    类型都有自己的特点! Python中类型,一旦定义,就会自动添加特有的一些属性和行为,是从python定义的基础类...

  • 原始类型与对象类型区别

    在 JS 中,除了原始类型那么其他的都是对象类型了。对象类型和原始类型不同的是,原始类型存储的是值,对象类型存储的...

  • 2019-12-24 从零开始的JS学习 三

    内置对象Date 数组对象 字符串对象 简单类型和复杂类型 五大数据类型基本数据类型:string number ...

  • JS类型的转换

    类型 1.原始(值)类型 2.对象(引用)类型 3.原始类型和对象类型的区别 隐式的类型转换 显式的类型转换 类型...

网友评论

      本文标题:对象和类型

      本文链接:https://www.haomeiwen.com/subject/eousettx.html