Java面向对象(一)

1、对象和类的概念:

  1. 对象是具体的事物;类是对对象的抽象
  2. 类可以看成一类对象的模板,对象可以看成该类的一个具体实例
  3. 类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法
    2、类的定义方式:
// 每一个源文件必须有且只有一个public class,并且类名和文件名保持一致!
public class Car { 
}
class Tyre { // 一个Java文件可以同时定义多个class
}
class Engine {
}
class Seat {
}

这是一个空类,没有任何实际意义。我们定义类的时候需要定义类的具体信息。
3、方法:
方法用于定义该类或该类实例的行为特征和功能实现,是类和对象行为特征的抽象,很类似于面向过程中的函数。方法是从属于类和对象的。
方法的定义格式:

[修饰符]  方法返回值类型  方法名(形参列表) {
    // n条语句
}

3、面向对象的内存分析:
栈:

  • 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)
  • JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等)
  • 栈属于线程私有,不能实现线程间的共享!
  • 栈的存储特性是“先进后出,后进先出”
  • 栈是由系统自动分配,速度快!栈是一个连续的内存空间!

堆:

  • 堆用于存储创建好的对象和数组(数组也是对象)

  • JVM只有一个堆,被所有线程共享

  • 堆是一个不连续的内存空间,分配灵活,速度慢!

“JAVA只有一个方法区”
4、构造方法:

  • 通过new关键字调用!!
  • 构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。
  • 如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已定义则编译器不会自动添加!
  • 构造器的方法名必须和类名一致!

5、static关键字:
static修饰的成员变量和方法,从属于类。
普通变量和方法从属于对象的
6、 Java方法中所有参数都是“值传递”,也就是“传递的是值的副本”。也就是说,我们得到的是“原参数的复印件,而不是原件”。因此,复印件改变不会影响原件。
7、通过package实现对类的管理;如果我们要使用其他包的类,需要使用import导入,从而可以在本类中直接通过类名来调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值