Java学习回忆录-基础语法-008

61 篇文章 0 订阅
48 篇文章 1 订阅

Java学习回忆录-基础语法-008

对象

创建对象的方法:数据类型 对象名 = new 数据类型(参数)

通过new 创建对象. 创建的对象,就是用于表示生活是在的一个个体事物. 
new Phone() -> 这一个对象,就表示生活中一个具体的手机 
new Student(); ->这是对象,就表示生活中一个具体的学生. 
对象的操作:

​ 创建对象:类名 对象名=new 类名();
​ 操作对象:给对象的属性赋值,对象名.属性名=值;
​ 取出对象的属性值,syso(对象名.属性名)
​ 执行对象的方法,对象名.成员方法();

对象的内存分析

​ 一个对象内存
​ 两个对象的内存.
​ 两个对象指向同一个内存。

java通过代码,通过面向对象的思想,可以将这些事物,给信息化(在计算机中描述和表现出来)
java 中是通过类(class) 来描述生活事物的. 通过对象来表示一个具体的事物.
案例:
使用java代码,将上述的汽车,手机,学生,描述出来(信息化,在计算机中表示出来)
汽车:
第一步:
新建一个类, 这类的名字,叫做汽车.(Car)
第二步:
给这个类,添加属性和行为.
属性在代码->成员变量
行为在代码->成员方法
String name=“jack”; // 定义了一个变量,变量是String 类型的,这个变量的名字叫做name ,存储的数据是"jack"
int age=20;

创建一个类:

格式: 类名 对象名 = new 类名(参数);

类的属性定义规则如下

类的类型

封装

private 关键字
  1. 用于修饰成员变量。
    成员变量私有,外部不能在访问了.
    对外隐藏属性,提高安全性的一种方式。
    对外隐藏类的属性,(不允许外部随意的访问,禁止在外部随意的赋值(获得非法数据). )
    如果不对外隐藏,外部可以任意的方位属性,修改属性值(任意的给值,出现非法数据),获取属性值。

  2. 提供共有的get和set 方法.
    使用 private修饰了成员变量,将其隐藏,不再对外暴漏了。但是,外部有需要正常的给属性赋值或者取值。

    1. 成员变量私有
      使用private 修饰成员变量.

    2. 提供公有的get 方法
      获取到属性的值,特殊需要可以不提供这样的get方法,这样在类的外部,就隐藏.

    3. 提供公有的set 方法
      修改属性值的方法, 特殊的需求,可以不提供这样的set 方法, 这样在类的外部,就无法直接修改属性值.
      可以在set 方法, 加入逻辑判断,过滤非法数据.
      提高程序的数据的安全性

    设置属性值.	
    public void setXXX(数据类型 x){
    	成员变量=x;
    }
    取出属性值
    public 数据类型 getXxx(){
    	return; 
    }
    

    好处:
    提高了安全性.
    (对象数据的安全性)

this关键字

作用:用来解决局部变量和成员变量重名的问题
在一个方法中:如果没有this则使用局部的,如果有则使用成员的。
概述:代表本类当前对象的引用。(谁调用,this就代表谁)
public void GetWidth(int Width){
		this.Width = Width;     // 在这个方法中,把长方形的宽赋值进来,
		// 左边的Width因为有This关键字,所以使用的是成员变量,而右边的Width没有this,则使用的局部参数
}
public int GetArea(){       // 求长方形
	return(Length * Width); // 假设定义了两个长方形,
	// 第一个长方形 Ar1 调用这个方法的时,里面的Length和Width就是Ar1.Length和Ar1.Width
	// 第二个长方形Ar2 调用这个方法时,,里面的Length和Width就是Ar2.Length和Ar2.Width
}

构造方法

1. 作用:
用于给对象初始化的方法. 构造方法.
初始化对象的什么:一般对象都有属性, 构造方法就是用于初始化对象的属性的。

2. 特点:
1. 构造方法和类名相同。
2. 构造方法没有返回值类型;
3. 连void 都没有的;
4. 构造方法没有返回值。

3. 构造方法的注意

  1. 一个类中可以有多个构造方法。是以重载的形式存在的。

  2. 定义一个类时,如果没有编写构造方法,系统会提供一个默认的无参数构造。

  3. 如果编写了构造方法,系统就不再提供默认的无参数构造。

  4. 自定义类时,建议将无参数构造写上。

举例代码:

class Person{				// 定义一个“人”的类
    private String name; 	// 定义两个私有属性,同时提供get和set方法
    private int age; 
    Person(){				// 无参构造
    }
    Person(String name){	// 重载的有参构造
        this.name=name;
    }
    Person(int age){		// 重载的有参构造
        this.age=age;
    }
    Person(String name ,int age){	// 重载的有参构造
        this.name=name;
        this.age=age;
    }
    // set 和get 方法,此处省略
}

// 创建对象时, 可以利用构造函数给对象初始化. 
//1. 无参数构造创建并初始化对象.
Person p1=new Person(); 
//2. 使用有参数构造创建初始化对象. 
Person p2=new Person("jack");
//3. 使用有参数构造创建初始化对象
Person p3=new Person(20);
//4. 使用有参数构造创建初始化对象. 
Person p4=new Person("jack",30);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值