java中的类与对象(1)

Wesley13
• 阅读 594

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

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

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

}

}

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
java常用类(2)
三、时间处理相关类Date类:计算机世界把1970年1月1号定为基准时间,每个度量单位是毫秒(1秒的千分之一),用long类型的变量表示时间。Date分配Date对象并初始化对象,以表示自从标准基准时间(称为“历元”(epoch),即1970年1月1日08:00:00GMT)以来的指定毫秒数。示例:packagecn.tanjian
Wesley13 Wesley13
2年前
java中static关键字的使用
知识点:java中,static关键字修饰类的变量、方法、代码块、内部类场景:我们在创建类的方法和变量时,如果这个类在创建多个对象时,共用同一个属性或者方法,就可以使用static关键字修饰,因为static修饰的变量,在内存的静态域存在的值,被类的多个实例所共用,实际上我们在编写一个类时,就是在描述对象的属性和行为,并没有产生实质上的对
Wesley13 Wesley13
2年前
java成员变量的初始化
类变量(static变量,不需要实例化对象也可以引用)实例变量(非static变量,需要实例化对象)局部变量(类的成员函数中的变量)初始化方式:构造函数初始化变量声明时初始化代码块初始化java自动初始化(在构造函数执行之前执行) java保证所有变量被使用之前都是经过初始化的(声明并且定义过,被赋值
Wesley13 Wesley13
2年前
java8新特性
Stream将List转换为Map,使用Collectors.toMap方法进行转换背景:User类,类中分别有id,name,age三个属性。List集合,userList,存储User对象1、指定keyvalue,value是对象中的某个属性值。 Map<Integer,StringuserMap1userList.str
Wesley13 Wesley13
2年前
java面向对象的三大特性
java面向对象的三大特性1.封装,把事物封装成抽象的类,通过访问控制符把自己的成员变量和函数对不可信的进行信息隐藏以及提供方法给可信的类和对象来操作。2.继承,继承可以使用现有类的所有功能和成员变量,并且无需重新编写原来的类的情况下对这些功能进行扩展。3.多态,实现了对代码的复用,多态具体体现为重载和重
Wesley13 Wesley13
2年前
Java基础之类
一、类的一般形式1、类的概述类就是事物的集合和抽象。它所代表的是这类事物所共有的一些行为和属性。2、类的一般形式中国有13亿人,就有13亿个对象人类只有一个class类名{类型变量名;类型变量名;...类型方法名
Wesley13 Wesley13
2年前
Java高级特性2
\TOC\1\.static关键字1.1类变量、类方法/static关键字类变量不用实例化,直接类名.属性名就可以使用,是类的一部分,被所有这个类的实例化所共享,也可以叫做静态变量如果想让一个类的所有实例共享数据,就用类变量!
Wesley13 Wesley13
2年前
Java之关于This的用法
      用类名定义一个变量的时候,定义的应该只是一个引用,外面可以通过这个引用来访问这个类里面的属性和方法,那们类里面是够也应该有一个引用来访问自己的属性和方法纳?呵呵,JAVA提供了一个很好的东西,就是this对象,它可以在类里面来引用这个类的属性和方法。先来个简单的例子:public class ThisDemo {   
Stella981 Stella981
2年前
Javascript定义类(class)的三种方法
在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称"实例")共有的属性和方法。Javascript语言不支持"类",但是可以用一些变通的方法,模拟出"类"。一、构造函数法这是经典方法,也是教科书必教的方法。它用构造函数模拟"类",在其内部用this关键字指代实例对象。  function
Wesley13 Wesley13
2年前
Java反射机制详解
一、内容提要:  1、反射机制是什么  2、反射机制能做什么  3、反射机制相关的API  4、通过一个对象获得完整的包名和类名  5、实例化Class类对象  6、获取一个对象的父类与实现的接口  7、获取某个类的全部构造函数  8、通过反射机制实例化一个类的对象  9、获取某个类的全部属性  10、