java中的类与对象(1)

       首先理解一下类和对象的关系,可以说:类是对象的抽象,对象是类的实例。

一个类中,通常上包含了属性和功能。属性通常用变量表达,功能通常上用函数表达。编写一个类

class 类名{

//属性,用变量表达

// 功能,用函数表达

对象

实例化对象的方法及含义:类名 对象名 = new 类名();,例如:Student zhangsan = new Student()。

含义:等号前面相当于定义了一个对象名,是一个Student类型,称为对象引用,这时并没有分配内存指向空值(null);等号后面给这个引用指向一个实际的对象,分配了相应的内存。(关键字new分配内存)

成员变量的访问

java中没有指针,统一用.来访问,即对象名.成员变量名,例zhangsan.name表示访问对象zhangsan的成员变量name。引用方法也同样如此。

注:对象名是一个引用,对其赋值时并不是将对象内的内容进行赋值,而是将引用赋值。即如果有语句 Student lisi = zhangsan;那么此时lisi将和zhangsan指向同一个对象(类似于指针),这时给zhangsan.name赋值后lisi.name也将随之改变。lisi原本指向的对象将被丢弃,最后被当做垃圾搜集。

范例:

class Student{

public String name;//类的属性

public String sex;

public Int age;

//类的功能

void display(){

System.out.println("name=" + name);

System.out.println("sex=" + sex);

System.out.println("age=" + age);

}

}

public class Test{

public static void main(String[] args){//主函数

Student zhangsan = new Student();  //对象的实例化

zhangsan.name = "张三";

zhangsan.sex = "男";

zhangsan.age = 19;

zhangsan.display();//调用类的方法 输出:name=张三 sex=男 age=19

Student lisi = zhangsan;//此时lisi的属性和zhangsan一样

lisi.display();//输出:name=张三 sex=男 age=19

zhangsan.age = 20;

System.out.println("lisi.age=" + lisi.age);//输出:lisi.age=20

}

}

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java常用类(2)

三、时间处理相关类Date类:计算机世界把1970年1月1号定为基准时间,每个度量单位是毫秒(1秒的千分之一),用long类型的变量表示时间。Date分配Date对象并初始化对象,以表示自从标准基准时间(称为“历元”(epoch),即1970年1月1日08:00:00GMT)以来的指定毫秒数。示例:packagecn.tanjian

java中static关键字的使用

知识点:java中,static关键字修饰类的变量、方法、代码块、内部类场景:我们在创建类的方法和变量时,如果这个类在创建多个对象时,共用同一个属性或者方法,就可以使用static关键字修饰,因为static修饰的变量,在内存的静态域存在的值,被类的多个实例所共用,实际上我们在编写一个类时,就是在描述对象的属性和行为,并没有产生实质上的对

java8新特性

Stream将List转换为Map,使用Collectors.toMap方法进行转换背景:User类,类中分别有id,name,age三个属性。List集合,userList,存储User对象1、指定keyvalue,value是对象中的某个属性值。 Map<Integer,StringuserMap1userList.str

java成员变量的初始化

类变量(static变量,不需要实例化对象也可以引用)实例变量(非static变量,需要实例化对象)局部变量(类的成员函数中的变量)初始化方式:构造函数初始化变量声明时初始化代码块初始化java自动初始化(在构造函数执行之前执行) java保证所有变量被使用之前都是经过初始化的(声明并且定义过,被赋值

java面向对象的三大特性

java面向对象的三大特性1.封装,把事物封装成抽象的类,通过访问控制符把自己的成员变量和函数对不可信的进行信息隐藏以及提供方法给可信的类和对象来操作。2.继承,继承可以使用现有类的所有功能和成员变量,并且无需重新编写原来的类的情况下对这些功能进行扩展。3.多态,实现了对代码的复用,多态具体体现为重载和重

java中的类与对象(1) - HelloWorld