目前五门已经可以用计算机表示八大基本数据类型,但是在实际开发中,五门还需要存储其他的数据。
比如一个人,一条狗,一张图片,一个视频等```那么我们该怎么做呢?
我们学习编程语言,就是为了模拟现实世界的事物,实现信息化。
其实在计算机中使用Java语言模拟现实世界也很简单,Java为我们提供了类。
现实生活中如何描述一个事物呢?
属性 该事物的特征描述
方法 该事物的动作行为
我们学习的Java语言最基本单位就是类,所以,我们使用类来描述事物。
类的理解:
1.类是用来描述现实事物的。
2.类是抽象的。
3.类可以理解为一个模板,是属性好方法的集合的模板。
4.类是Java中最基本的组成单位。
5.Java使用Class关键字来描述类。
6.类的本质就是用来[组织代码,封装数据]
对象的理解:
1.对象是客观存在的。
2.万物皆对象。
3.对象是在类的基础上创建的。
4.对象又被称作为 实例/变量/引用/对象。
类定义的格式:
[访问权限修饰符] clsaa 类名 {
类体;
属性/成员变量;
方法/成员方法;
}
如何来创建一个对象?
格式: 类名 对象名 = new 类名();
如何访问对象成员?
格式:
对象名.成员变量
对象名.成员方法
public static void main(string[] args) {
// 类名 对象名 = new 类名();
ren xm = new ren();
System.out.println(xm.name);
System.out.println(xm.age);
System.out.println(xm.isMarried);
xm.name = "xm";
xm.age = 18;
xm.isMarried = true;
System.out.println(xm.name);
System.out.println(xm.age);
System.out.println(xm.isMarried);
xm.eat();
xm.sleep();
xm.washHead();
}
class ren {
String name;
int age;
String gender;
boolean isMarried;
//成员方法: 之前方法怎么写,这里就怎么写,去掉static
public void eat() {
System.out.println("吃饭");
}
public void sleep() {
System.out.println("睡觉");
}
public void washHead() {
System.out.println("洗头");
}
public void introduceMyself() {
System.out.println("大家好,我叫%s,我今年%s岁了" + (isMarried ? "我已婚" : "我未婚"), name, age );
}
}
成员变量和局部变量的区别
1.定义的位置不一样。
成员变量: 定义在类体以内,方法体以外。
局部变量: 方法的声明上(形参),或者方法体内。
2.内存的位置不一样。
成员变量: 在堆区分配内存空间
局部变量: 在栈区分配内存空间
3.初始值不一样。
成员变量: 成员变量默认有初始值,系统会赋予如下初始值
byte short int long 0
float double 0.0
char \u0000
引用类型 null
局部变量: 默认没有初始值
4.生命周期不一样。
成员变量:随着对象的创建而创建,随着对象的销毁而销毁
局部变量:随着方法的调用而创建,随着方法的销毁而销毁
5.当成员变量和局部变量重名的时候,局部变量优先(就近原则)
匿名对象:
1.本质还是一个对象,没有名字
2.匿名对象只能够调用一次
3.由于匿名对象使用完毕之后立刻就成为的、垃圾对象,等待垃圾回收器在空闲的时候回收垃圾
4.一般可以节约内存资源,在Java中应用少,在Android应用多
也可以简化编程
什么是垃圾对象:
1.匿名对象
2.对象被赋值为null
3.对象所在的方法调用完毕
4.当主方法调用完毕
5.当对象被被重新new
为什么需要封装?
1.防止外界修改成员属性
2.可以提供外界公共的方式并且加以权限控制
3.让类的数据更加的安全
封装的概述: 对数据进行访问权限的控制,其实本质主要体现访问权限修饰符上
使用关键字: private 进行封装
封装的步骤:
1.给成员添加访问权限修饰符
2.对外界提供公共的访问方式
3.在对外访问方法中提供访问控制
package com.sxt;
public class ClassDemo_03 {
public static void main(String[] args) {
Iphon s = new Iphon();
s.setMoney(6999);
s.setColer("中国红");
s.setModel("128GB");
System.out.println("价格:" + s.getMoney());
System.out.println("颜色:" + s.getColer());
System.out.println("型号:" + s.getModel());
}
}
class Iphon {
private int money;
private String color;
private String model;
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
public String getColer() {
return color;
}
public void setColer(String coler) {
this.color = coler;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
this的特点
1.用来区分成员变量和局部变量
2.创建任何一个对象都会创建一个this对象和这个变量指向同一个堆区空间
3.this只能出现在类的内部
4.this单独使用表示当前对象,谁调用就是谁
5.默认任何一个类中成员都隐含了this关键字