JavaSE基础学习笔记-面向对象01

1.类与对象的关系

类是对现实生活中事物的描述,对象是这类事物咋现实生活中存在的一个个体。映射到Java中时,对类的描述就是class类文件,具体的对象就是对应Java在堆内存中用new 关键字或其他方式建立的实体对象。


2.类的描述

每个类都可以具有属性和行为。在Java中属性用变量描述,行为用函数表示。


3.成员变量和局部变量

成员变量和局部变量都是对类的某个属性进行描述。

区别:

他们的作用域不同:成员变量的作用域是整个类,而局部变量的作用域是在函数内部;

存储位置不同:成员变量随对象的存在而存在,存储在堆内存中,而局部变量随函数运行结束而消亡,存储在栈内存中。


4.匿名对象 

所谓匿名对象就是没有名字的对象,Java中用一个同类型的变量去指向堆内存中的对应对象,例如:String str = new String();

随意匿名对象就是如下形式:new ClassName(); 

使用规则:

(1).当程序中用到一个类中的某个功能并且这个功能只被调用一次的时候使用匿名对象比较方便.例如:

class A{
   func(){}
}
class B{
    new A().func();
}
(2).匿名对象可以作为函数的实际参数传入。例如:
class C{
    func(A a){}
}
class D{
     new C().func(new A());
}



5.封装

封装是Java的三大特性之一,所谓封装就是对对象的属性和行为进行隐藏,定义公共的访问方式,从而使其他对象不能直接访问对象中的数据。

封装的好处:

(1):提高了代码的安全性

(2):提高代码复用性

(3):使变化隔离

封装的原则:

把不需要对外提供的方法隐藏在类内部,把属性都隐藏起来,对外提供公共的访问方式。


6构造函数

结构特点:没有返回值;函数名与类名相同;

public ClassName(){

}

作用:创建对象,对对象进行初始化。

构造函数和一般函数的区别:

(1):构造函数是用来创建对象并对其进行初始化,一般函数是为里添加某些功能。

(2):构造函数是在创建的对象时由JVM自动调用,并且创建一个对象只调用一次,普通对象是被类对象调用的,可以调用多次。

什么时候定义构造函数?

一般要对对象的某些特定属性在创建对象的时候进行初始化的时候就要求把这些属性进行赋值时,要自定义构造函数。


7构造代码块

构造代码块是一片被"{}"括起来的区域。例如:

Class E {
    {
        //构造代码块;
    }
}


用法:构造代码块通常用于对对象的某些共性属性进行初始化,它优先于构造函数运行。


8.this关键字

this关键字表示正在调用该方法的对象,简单的说就是哪个对象调用了this所在的函数,this就代表哪个对象。

用法:

(1)当局部变量和成员变量重名时,若想在局部变量所在函数内部使用成员变量可以用this关键字,例如 this.成员变量

(2)当函数内部用到当前对象时,用this代表当前对象

(3)当类中存在多个构造函数并要进行构造函数间的调用是可用this(注:这时调用构造函数的this语句一定要放在函数内的第一         行)


9.static关键字

static关键字用来修饰成员变量和成员函数,当成员变量和成员函数被static修饰时,他们就可以用类名.成员名(方法名) 的形式直接调用而不依赖于对象的存在而被使用。

特点:

(1)随着类的加载而被加载

(2)优先于对象存在

(3)被所以对象共享

(4)可以用类名直接调用

注意事项:

(1)静态方法只能访问静态成员(方法或变量)

(2)非静态方法既可以访问静态也可以访问非静态成员

(3)静态方法内不能存在this/super关键字。

什么时候定义静态成员函数?

当函数内部没有访问到与对象绑定的成员变量或成员方法时就可以把该函数定义成静态函数。








你可能感兴趣的:(Java基础)