类和对象的基础

java是一门面向对象的语言。强大之外,在于抽象。

为什么诞生了面向对象的语言?

面向过程的语言:把待解决的问题,分解成一系列的步骤,一步一步去执行,执行结束,问题解决。

面向对象的语言:把待解决的问题,描述成多个不同的对象,互相协作的过程。

类,是类型(引用类型),而对象是某一个类型的实例。

class:类,即类型的含义。

有了类型之后,就可以创建此类型的对象。

对象是一个整体,拥有状态(属性值,用数据来描述),描述静态特性。对象拥有动态特性,拥有动态行为。

面向对象是一种编程思想。

public 公有的 ,可以被其他人访问。 类名首字母大写

Student stu1 = new Student();//new是用来创建对象的

Student stu2 = stu1;//运行两个语句,也是创建了一个对象,即stu1

静态特性使用变量来描述的,而动态特性是用函数来描述的。

例:学生类中

//用来描述对象的静态特性。

构造函数(构造方法)(首字母大写)

构造函数,是用来构造对象,初始化对象的数据的。和类名称相同,无返回值。

特点:跟类同名,无返回值。

可以使用成员访问修饰符,但不能使用final 和 static等

一个构造函数可以调用另一个构造函数,“this()”,但必须作为第一句代码。

构造方法的调用:

**** 构造方法:方法名称与类名相同,没有返回类型部分。

例1:Test220515A(){xxx}

例2:Test220515A(int b){}

调用:Test220515A t2 = new Test220515A(100);

 类的三大特性

封装,继承,多态。

成员访问修饰符(相当于设置权限):可以用来进一步实现封装特性。控制类的成员的可见性。(只要是在类的低一级的都是成员)

public 公有的,可见范围最大。所有位置都可以访问

protected 受保护的 在无修饰符的基础上,增加子类可以访问

无(default) (无修饰符/友好访问修饰符/包修饰符)在private的基础上,增加包内可以访问,类的内部可以访问

private 私有的修饰符,可见性最小。只有类内部可以访问

可见性分成以下几个范围:

1.类外部

2.同一包内

3.子类

4.类内部

this关键字:表示当前对象。

封装的一种体现:将静态的数据通过private设置,然后通过公有的public 方法进行改变。

setter 和 getter方法(快速设置类的静态成员的值): 

方法的重载

一.方法的重载override。方法名相同,参数不同:

1.参数个数不一样

2.参数类型不一样

3.参数顺序不一样

二.变量的作用域(生效的空间范围)与生命周期(生效的时间范围)

作用域:从声明的位置开始一直到他所在的大括号结束。

生命周期:从执行到当前变量定义处,一直到其作用域

三.对象与对象之间的关系

1.is a:A is B 继承。

2.has a:A has B 包含,聚合关系,通常作为成员

3.use a:A use B:依赖关系,使用关系,通常作为方法参数

四.基本数据类型和引用类型作为方法参数的区别

基本数据类型作为参数,对参数的改变,并不会影响实参,值传递。

当引用类型作为参数的时候,在方法中,对引用类型的对象更改状态的时候,外部的实参是会变化的。

五.static 和 final 关键字

static:静态的,隶属于类的。静态方法中,如果要访问类的成员的时候,只能使用静态成员。而普通方法中,可以自由的使用静态成员。

类成员:是属于类的,并不隶属于某一个特定的对象。使用类成员的时候,并不需要创建对象。

final:用于定义常量

1.final修饰类成员:表示成员是最终的,常量,不可改变的。final类型的普通成员必须有值,可以初始化,可以通过构造函数赋予值。

2.final可以修饰方法

3.final可以修饰类

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值