java(类和对象)

一、类和对象

简单来说,类就是用来对一个实体(对象)来进行描述的,比如描述一个学生,学生就是一个对象,我们需要描述学生姓名,年龄等

1.类的创建

比如现在创建一个学生类,代码演示:

上面就是对学生(对象)的描述创建的一个类(Student1),class为关键字,Student1就是类名,{}里面就是类的主体,其中包括对学生的属性(姓名,年龄等)和行为(上课等)

注意事项:

1.类名用大驼峰表示

2.最好一个文件一个类

3.文件名必须与public修饰的类名相同

4.main所在的类一般用public修饰

2.类的实例化

定义了一个类,就相当于在计算机中定义了一种新的类型 ,与 int double类似 ,只不过 int double java 语言自 带的内置类型,而类是用户自定义了一个新的类型,比如上述的: Student 类。它们都是类 ( 一种新定 义的类型 ) 有了这些自定义的类型之后,就可以使用这些类来定义实例 ( 或者称为对象 )
用类类型创建对象的过程,称为类的实例化 ,在 java 中采用 new 关键字,配合类名来实例化对象
下面定义一个狗类,对齐实例化:

3.类的初始化与访问

创建一个类之后,结合上图就可以通过“.”来访问类的成员及方法,并可以对成员变量进行初始化

也可以在创建类时就地初始化。

一个类可以实例化多个对象,如上图,创建了2个对象。

4.this的引用

this引用指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过该 引用去访问。只不过所有的操作对用户是透明的,即用户不需要来传递,编译器自动完成,

下面就是一个运用:

此时成员方法里year是局部变量,局部变量优先使用,就变成了自己给自己赋值
如何解决这个问题呢?此时就用到this
注意: this 引用的是调用成员方法的对象
注意事项:
1. this 的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型
2. this 只能在 " 成员方法 " 中使用
3. " 成员方法 " 中, this 只能引用当前对象,不能再引用其他对象

一、特殊的成员方法

1.构造方法

1 概念
构造方法 ( 也称为构造器 ) 是一个特殊的成员方法, 名字必须与类名相同,在创建对象时,由编译器自动调用,并且 在整个对象的生命周期内只调用一次
构造方法:
// 名字与类名相同,没有返回值类型,设置为 void 也不行
// 一般情况下使用 public 修饰
// 在创建对象时由编译器自动调用,并且在对象的 生命周期内只调用一次
//  构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)

 构造方法代码展示:

一个类中 ,如果没有定义任何构造方法,编译器会默认生成一个不带参数的构造方法。
注意: 一旦用户定义,编译器则不再生成。

1.1this也可以在构造方法中引用

public class Date {
public int year ;
public int month ;
public int day ;
// 无参构造方法 -- 内部给各个成员赋值初始值,该部分功能与三个参数的构造方法重复
// 此处可以在无参构造方法中通过 this 调用带有三个参数的构造方法
// 但是 this(1900,1,1); 必须是构造方法中第一条语句
public Date (){
//System.out.println(year); 注释取消掉,编译会失败
this ( 1900 , 1 , 1 );
//this.year = 1900;
//this.month = 1;
//this.day = 1;
}
// 带有三个参数的构造方法
public Date ( int year , int month , int day ) {
this . year = year ;
this . month = month ;
this . day = day ;
}
}

 注意:

alt+insert可以快速构建构造方法;

this(...)必须是构造方法中第一条语句  

不能成环

  • 29
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值