Java中类和对象

1.Java里边一切皆对象

2.OOP 面向对象的程序/语言(所对应的一些名称:封装 继承 多态)

3.面向对象:关注任务中的对象,不关注其过程

4.类:通过类来描述具体的对象 ,限定了类的成员,一个类可以实例化出多个对象

class 类名->大驼峰

 eg:描述一个洗衣机类

class WaterMachine{

//成员属性

public String brand;//品牌

public double weight;//重量

public double height;//高度

//成员方法

public void washClothes( ){

       System.out.printfln("洗衣功能");

}

public void dryClothes( ){

      System.out.println("脱水功能”);

}

 类名大驼峰,方法名/变量是小驼峰

改public类名(即改动文件名)

 类的实例化

 

 5.this引用

 

同样也可以

 

区分局部变量,局部变量的赋值无法给到成员变量

 

 此时用this.来赋值可以给成员赋值

 运行结果

 但是多个局部变量是,加或者不加this都可以赋值到成员变量

结果相同 

 综上:1.形参名与变量成员名相同时,赋值不会给成员变量,成员变量还是0

 this.成员变量

this.访问成员方法

this();访问构造方法

举例:登记学生的姓名和年龄,需要使用到this

 

6.对象的构造及初始化

默认初始化:没有给对象赋值前,默认该类型的初始值

就地初始化:定义的同时赋值(适用于默认对象)

eg: public String name="张三";

      public int age=99;

构造方法:

这个方法没有返回值,方法名称和类名是一样的

想产生实际对象,必须要有构造方法,若代码中没有构造方法,编译器会默认提供一个不带参数的构造方法。当构造方法调用完成后,对象才实际产生了。

 当同时提供了带参数的构造方法时,编译器会自动屏蔽掉默认的不带参数的构造方法

构造方法可以重载(方法名相同,参数不同)

例如:

 this()的使用方法:调用本类中的其他构造方法

举例如下:在不带参数的构造方法中使用,遇到了this()将跳转到带参数的构造方法中去,直到带参数的构造方法执行完成后,再返回执行不带参数的构造方法的剩余语句。

注意:必须放在构造方法里面,并且必须放在第一行。

           不能循环调用。

 

 7.封装

面向对象程序三大特征:封装,继承,多态。

封装的概念:对类 内部的实现细节 进行隐藏/封装

                      对外 只提供一些公开的接口 供其他用户进行访问

权限==》访问修饰限定符来进行修改

访问限定符:

 private   default(默认的) protected    public

private:只能在当前类的内部进行访问

public:是公开的,不管在哪里,都可以访问

 

可以把包理解为一个文件夹,一个文件夹下不能有两个名称相同的子文件。若想有,则在该文件夹下建立一个新的子文件夹 ,在该子文件夹中添加文件名相同的文件。

创建方法(创建自己的包)

命名包用小写 

调用系统的包用 import(联系Scanner的调用),import导入的是具体的类,导入的不是包

注意:当用到 import java.util.*;

就是导入了所有该程序下要调用的包,用到谁时,自动导入谁。

注意:默认包底下的文件可以实例化自己定义的包下的文件,二自己定义的包下的文件不能实例化默认包里的文件。

8.static成员

成员具有的相同的属性,比如一个班的同学,班级就是他们的共同属性

public static classes;称为静态成员变量,也称为类变量

访问用 类名. 访问,静态的不依赖于对象

 注意:在静态的方法内部,不能访问非静态的数据成员和成员方法

代码块

执行顺序是固定的,与他们在代码中的先后顺序无关,并且静态代码块只执行一次。

静态代码块:用static修饰的代码块

实例代码块:用{ }括起来的

局部代码块:各种方法

 

 A. t.f=3.0f          B.Test.n        C.t.m

8.内部类(class类中包含的类)

1.实例内部类/非静态内部类

2.静态内部类: static修饰的

3.局部内部类(很少用):在方法内部定义类,只能在该方法体内使用局部内部类,作用不大。

4.匿名内部类

第15 行:实例内部类中,不能有静态的成员变量。

除非加上final表示成一个常量的形式

public static final int data6=10;

final:   

final int A=10;//把A定义为一个常量,不能再对a进行赋值操作(类似于C语言中的const)

一般用final定义常量时,常量用大写字母表示。

同时final不能用于局部的方法内部

即:用static修饰时,实例内部类中可以用final定义常量,不能在局部方法用final中定义常量。

 

 

 

 

 9.成员变量的打印

快捷方式

鼠标右键 (在方法区域)

 选择要打印出来的项

 直接会生成

 

 运行结果

没有用to String()前,直接打印出成员变量,得到的时地址名。

若是专门写一个打印方法,调用时也非常复杂。

用to String() 最方便简洁

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Roylelele

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值