zoukankan      html  css  js  c++  java
  • JAVA学习笔记-03

    面向对象其实是思考的一种思想。以前的是面向过程

    面向过程:强调的是功能的行为。也就是强调的是动作

    面向对象:将功能封装进对象,强调具备了功能的对象。

    面向对象简单来说就是一种实物,其含有某些特定的功能

    面向对象有三个特征:封装,继承,多态

    以后的开发就是找对象使用,没有对象就创建对象。找对象,建对象,使用对象并维护对象的关系

    类与对象的关系:

    类:就是对现实生活中事物的描述

    对象:就是这类事物实实在在存在的个体

    描述就是class定义的类,具体对象就是对应JAVA在堆内存中使用new建立的实体

    类:

    属性对应的就是类的变量

    行为对应类中的方法(函数)

    定义类就是定义属性和行为

    类名 别名=new 类名() 创建对象方法;其中别名就是类类型变量

    多个引用指向同一个对象,随着改变而改变。

    成员变量和局部变量的区别:

    成员变量作用于整个类当中

    局部变量作用于函数中(方法)或与语句中

    成员变量:在堆内存中,因为对象存在才在内存中存在

    局部变量:存在栈内存中

    匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成   new 类名().类中的方法。如果对一个对象进行多个成员调用,必须给这个对象取个名字

    匿名对象使用方式二:可以将匿名对象作为实际参数进行传递

    封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式 

    private:私有,权限修饰符:用于修饰类中的成员变量和成员函数。私有只在本类中有效

    把成员变量变成私有化,要访问私有的就需要增加一个公共函数来对外提供访问方式。

    一个成员变量对应两个访问方式,一个设置一个获取。也就是set()和get()。set一般是以void没有返回值并且要跟着参数。 get对应的是成员变量的数据类型。

     私有仅仅是封装的一种表现形式。

    构造函数:

    特点:1.函数名和类名相同  2.不用定义返回值类型  3.不可以写return语句

    作用:给对象进行初始化

    当一个类中没有构造函数时,那么系统会默认给该类加入一个空参数的构造函数

    当在类中自定义了一个函数,默认的构造函数就没了。

    构造函数也可以进行函数的重载。函数的重载是函数名相同,参数列表不同

    构造函数和一般函数在写法上不同,在运行上也不同。构造函数是在对象一建立就运行,给对象初始化。而一般方法是对象调用才执行,是给对象添加对象具备的功能。一个对象建立构造函数只运行一次,而一般方法可以被该对象调用多次。

    构造代码块:

    作用:给对象进行初始化,对象一建立就运行。而且优先于构造函数执行

    构造代码块定义的是不同对象共性的初始化内容

    和构造函数的区别:

    构造代码块是给所有的对象进行统一的初始化

    构造函数是给对应的对象进行初始化

    this关键字用法:

    用于区分局部变量和成员变量同名的情况。this代表的是本类的对象。哪个对象在调用this所在的函数,那this就代表哪个函数

    当定义类中的函数时,该函数内部要用到调用该函数的对象时,用this来表示这个对象

    this语句:用于构造函数之间进行互相调用

    this语句只能定义再构造函数的第一行

    static关键字 (静态)

    用法:用于修饰成员(成员变量,成员函数),静态修饰内容被对象所共享。而且除了可以被对象调用外还可以被类名调用。格式为类名.静态成员

    在类中没有带static的成员变量又叫做实例变量,带有static的成员变量叫类变量。

    static特点:

    内存部分:随着类的加载而加载,被所有对象所共享,优先于对象存在,可以直接被类名所调用

    实例变量和类变量的区别:

    1,类变量随着类的加载而存在于方法区中,实例变量随着对象的建立而存在堆内存中

    2,类变量生命周期最长,随着类的消失而消失。实例变量生命周期随着对象的消失而消失

    静态static使用注意事项:

    1.静态方法只能访问静态成员,非静态方法既可以访问静态也可以访问静态

    2.静态方法中不可以定义this,super关键字,因为静态优先于对象存在,所以静态方法中不可以出现this。

    3.静态使用是在具有共有性的时候才使用。

    4.主函数是静态的。主函数是特殊的函数可以被jvm调用。作为程序的入口  

  • 相关阅读:
    Chrome在解析html时的一个bug
    WebGL笔记(二):顶点着色
    跟据一段代码浅谈Javascript闭包
    [标量函数] Html标记过滤 HtmlFilter
    A new weblog from Contribute CS4
    WebGL笔记(一):起步
    MSSQL查询连接数
    DDD中的分层
    非root用户使用docker方法
    七牛跨服务器上传文件带参数
  • 原文地址:https://www.cnblogs.com/guaikakani/p/10684792.html
Copyright © 2011-2022 走看看