java对象类型,java对象类型强制转换

发布时间:2023-01-04

本文目录一览:

  1. java中什么是类和对象
  2. 关于Java的对象类型数组和List
  3. java中的对象类型与基本数据类型的区别?

java中什么是类和对象

类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。举一个例子说明下类,比如Person(人)就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“姓名、身高、体重”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例。同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。 Java语言中对类Person的定义往往如下:

public class Person {
    private String name; //属性:姓名
    private int height; //属性:身高
    private int weight; //属性:体重
    public Person() {}
    public Person(String name, int height, int weight) {
        this.name = name;
        this.height = height;
        this.weight = weight;
    }
    //... some methods...
    public void doSth() { //行为:
        //... do something
    }
}

Java中的类 类可以看成是创建Java对象的模板。 通过下面一个简单的类来理解下Java中类的定义:

public class Dog {
    String breed;
    int age;
    String color;
    void barking() {
    }
    void hungry() {
    }
    void sleeping() {
    }
}

一个类可以包含以下类型变量:

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。 一个类可以拥有多个方法,在上面的例子中:barking()hungry()sleeping()都是Dog类的方法。

关于Java的对象类型数组和List

  1. 不一定都相同
  2. 可以包含String和Integer
  3. List中元素不用统一类型。(其实也统一成为Object了) 因为所有类默认都是继承了Object,上面所说的元素只要是Object就行,所以Object[]和List中元素什么对象都行。

java中的对象类型与基本数据类型的区别?

基本数据类型在栈中进行分配,而对象类型在堆中进行分配。 所有方法的参数都是在传递引用而非本身的值(基本类型例外)。 对象之间的赋值只是传递引用,基本类型之间的赋值是创建新的拷贝。 例如:

String a = "china";
String b = a;

则a、b都指向常量池的"china"。

String a = new String("china");
String b = a;

则a、b都指向堆中的"china"。

String a = new String("china");
String b = a;
a = a.substring(0,1);

则b指向栈中的"china",a指向新的对象"c"。 对于基本类型,“==”和“!=”是在比较值。而对于对象来说,“==”和“!=”是在比较两个引用是否相同。 使用equals()方法有一点需要注意:equals()方法的默认行为是比较引用。如果是你自己写的类,你应该为它重写equals()来比较对象的内容。大多数Java类库都实现了比较对象内容的equals()方法。 字符串操作符的特性:如果表达式以一个字符串起头,那么后面的操作数都会被自动转换为字符串型。所以有时候看到一个空的String后面+一个基本类型变量,这是一种简单执行字符串转换的方式。