学习笔记之面向对象上(四)

this

this关键字的使用
简单的说,哪个对象调用,this就代表哪个对象

this注意事项和使用细节

(1)this关键字可以用来访问本类的属性、方法、构造器
(2)this用于区分当前类的成员和局部变量
(3)访问成员方法的语法:this.方法名(参数列表);
(4)访问构造方法(构造器)语法:this(参数列表); 放在第一条语句, 这个语法规则, 构造器间的调用
(5)this不能在类定义的外部使用,只能在类定义的方法中使用。

/*
class A {
public String name = “tom”;
public int age = 1;
public A(String name, int age) {
this.name = name;
this.age = age;
}
}

A a = new A(“smith”, 10);
*/

面试题:a对象的构建流程

  1. 加载A类结构(A.class), 加载一次,加载方法区
  2. 在堆中分配空间,有对应的地址
  3. 完成初始化
    (1) 默认初始化 name = null , age = 0
    (2) 显示初始化 name = tom, age = 1
    (3) 构造器初始化 name = smith , age = 10
  4. 将对象在堆中的地址,返回给 a

包的三大作用

1.区分相同名字的类
2.当类很多时,可以很好的管理类[模块]
3.控制访问范围

包的命名规则:

只能包含数字、字母、下划线、小圆点.,但不能用数字开头,不能是关键字或保留字
demo.class.exec1 //错误 ,因为 class 是关键字
demo.12a // 错误,不能以 12 数字开头
demo.ab12.oa //对
命名规范!!:

一般是小写字母+小圆点一般是
com.公司名.项目名.业务模块名
举例:
com.sina.crm.user //用户模块
com.sina.crm.order // 订单模块
com.sina.crm.utils //工具类

常用的包

一个包下,包含很多的类,java中常用的包有:
java.lang.* //lang包是基本包,默认引入,不需要再引入.
java.util.* //util 包,系统提供的工具包, 工具类,使用
java.net.* //网络包,网络开发=> 网络开发
java.awt.* //是做java的界面开发,GUI

如何引入包

语法: import 包;
比如 import java.awt.*; // * 表示将该包的所有类和接口引入.
我们引入一个包的主要目的是要使用该包下的类
比如 import java.util.Scanner; 就只是引入一个类Scanner。

包的注意事项和使用细节

(1)package 的作用是声明当前类所在的包,需要放在class的最上面,一个类中最多只有一句package
(2)import指令 位置放在package的下面,在类定义前面,可以有多句且没有顺序要求。

访问修饰符

java提供四种访问控制修饰符号控制方法和属性(成员变量、字段)的访问权限(范围):

(1)公开级别:用public 修饰,对外公开
(2)受保护级别:用protected修饰,对子类和同一个包中的类公开
(3)默认级别:没有修饰符号,向同一个包的类公开.
(4)私有级别:用private修饰,只有类本身可以访问,不对外公开.

4种访问修饰符的访问范围

在这里插入图片描述

修饰符使用的注意事项

(1)修饰符可以用来修饰类中的属性,成员方法以及类
(2)只有默认的和public才能修饰类!,并且遵循上述访问权限的特点。
(3)成员方法的访问规则和属性一样.
说明:实际开发中,一个类,对应一个文件

如何理解抽象

我们在前面去定义一个类时候,实际上就是把一类事物的共有的属性和行为提取出来,形成一个物理模型(模板)。这种研究问题的方法称为抽象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值