java(EE)企业级开发基础知识(二)

本文深入探讨了面向对象编程的概念,包括类与对象的区别,强调了面向对象的高开发效率和市场占有率。讲解了类的定义,对象的创建,构造方法的作用,以及封装的重要性。此外,还介绍了可变参数的使用,this关键字的应用,以及静态修饰符static在属性、方法和代码块中的功能。通过实例,阐述了静态成员与实例成员的差异,以及静态代码块和实例代码块的执行时机。
摘要由CSDN通过智能技术生成
  • 类与对象 1.面向对象与面向过程的区别
  1. 面向过程:需要关注程序的每一步
  2. 面向对象:--找对象帮你做事--结果--开发效率高
    优缺点
    面向过程
    优点 : 执行效率高
    缺点 : 门槛高、操心
    面向对象
    优点 : 开发效率高、市场占有率高
    缺点 : 执行效率不高、门槛低
  1. 类(class)

1.人类抽象出来的,概念类型,具有相同的属性和行为的一类客观事物
类 = 属性 + 行为
2. 语法 [修饰符] class A {// 类体}
3. 对象:客观存在的事物,万物皆对象
4. 空指针异常 没有任何指向,NULLPointException
5. 引用:引用是一个变量,概念:变量存储在堆内存中对象的地址
6. 引用与对象有什么区别:
new 对象是堆内存中开辟的一块空间,用来存储对象的数据
引用变量在赋值的时候,传递的是引用里面存储的地址

     2.构造方法(特殊的方法)

a. public Dog(形参列表){//方法体},没有返回值,也没有void,方法名必须和类名相同 b. 构造方法在new对象的时候自动调用,不需要手动调用 c. 构造方法是用来初始化对象的,可以传参数,也可以重载 d. 当类中没有定义构造方法,系统会提供一个无参构造方法 e. 当类中定义了任何构造方法,系统将不再提供无参构造 f. 属性的默认值在new无参构造的时候自动赋值

       3.可变参数:举例说明

//题目:计算2个数的和、3个数的和、5个数的和...n个数的和

public class Text {
    public static void main(String[] args) {
        int a = sum(2, 5, 4, 8, 7, 4);
        System.out.println(a);
    }
    public static int sum(int... n) {
        int num = 0;
        for (int i = 0; i < n.length; i++) {
            num += n[i];
        }
        return num;
    }
}
  • 封装
  1. 私有化属性,公开方法
  1. private (只有当前类可以访问)私有化属性
  2. public (同一个项目中所有类可以访问)公开方法,两个方法,get读取/得到,set写入/修改
  3. 封装目的:a.保证数据的合理性 b. 控制属性的读写

    2.this关键字

  1. 保存当前对象地址的引用
  2. this什么时候用: 当局部变量与成员变量同名时,找成员变量在成员变量前面加this
  3. this什么时候可省,当成员变量与局部变量不重名的时候可以省略

     3.this()的使用(详细请看java实例)

  1. 用在构造方法里面
  2. this()调用构造函数必须出现在构造函数的第一行,否则报错
  3. 构造函数里面只会调用一次this()
  4. 作用:构造方法链

     4.String 类的方法

  1. length() 获取字符串的偿付
  2. 返回值 int

    5.static

  1. 概念:静态的,用来修饰属性、方法、代码块
  2. 作用:不需要new 对象,直接通过类名调用
  3. static修饰的属性、方法时所有对象共有的
    a. static关键字的使用:
  • 只能用来修饰成员变量,不能修饰局部变量
  • static修饰的是成员变量,没有static修饰的是实例变量
  • 静态变量可以通过类名直接访问,不需要通过对象引用访问
  • 静态变量在类加载时初始化一次,所有对象共享改变量
  • 实例变量必须通过对象引用访问,每new一次都会在堆内存空间中开辟一个新的空间存储
  • 静态变量是不需要通过对象引用调用的,所以不会出现空指针异常

    b. 静态修饰方法
  • 静态方法是存在方法区,随着类加载的时候初始化
  • JVM是通过类名找到静态的方法,不是通过实例对象的引用找的,跟对象没关系
  • 实际执行的时候找的是类名
  • 静态的只能调用静态的方法和属性,无法调用实例的方法和属性
  • 实例的方法和属性可以调用静态的也可以调用实例的
    c. 静态代码块 语法 static {//代码块}
  • 特点:类加载的时候自动调用一次
  • 一个类允许有多个静态代码块 作用:类初始化
    d. 实例代码块
  • {//代码块}
  • 作用:对象的初始化
  • 实例化对象之前都会执行实例代码块中的代码
  • 如果一个类中既有静态代码块又有实例代码块,静态代码块先执行,实例代码看后执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值