• 面向对象


    一。面向对象和面向过程的理解

      1.1.面向过程:作为参与者,其实就是面向具体的每一个步骤和过程,把每一个步骤和过程完成。

    1.2.****面向对象:把这些步骤和功能在进行封装,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起get set

    a.面向对象思想概述:面向对象是基于面向过程的编程思想

    b.面向对象思想的特点:可以将复杂的事情简单化;将我们从执行者变成了指挥者.

    c.面向对象开发:就是不断的创建对象,使用对象,指挥对象做事情.

    d.面向对象特征:封装、继承、多态..

    二。类和对象,成员变量,成员方法

    2.1类:是一组相关的属性和行为的集合。是一个抽象的概念。

    2.2.成员变量:就是事物的属性。

    2.3.成员方法:就是事物的行为。

    2.5.一个类的标准代码写法:
    1.成员变量 2.构造方法(类名相同,并且没有返回值)
    :无参构造方法
    、带参构造方法(方法名和类名相同) 3.成员方法
    :getXxx()、
    setXxx()

          1.无参构造方法+setXxx()  传值     2.带参构造方法:直接在new对象后面传参

    .类和对象的使用:a.创建对象:<1>类名 对象名 = new 类名();或者<2>匿名对象(匿名对象调用成员方法(对象调用方法仅仅一次时))
    b.
    对象名.成员变量 c.对象名.成员方法
    4.匿名对象的两种使用情况:对象调用方法仅仅一次的时候;
    作为实际参数传递

    5.成员变量与局部变量的区别:
    5.1.在类中的位置不同: 成员变量: 类中方法外
    局部变量: 方法内或者方法声明上 5.2.在内存中的位置不同:

    成员变量: 堆内存 局部变量: 栈内存 5.3.生命周期不同

    成员变量: 随着对象的存在而存在,随着对象的消失而消失

    局部变量: 随着方法的调用而存在,随着方法的调用完毕而消失 5.4.初始化值不同

    成员变量: 有默认的初始化值 局部变量: 没有默认的初始化值,必须先定义,赋值,才能使用。

    封装:
    6.1.****定义:属性私有化,提供公有的方法访问私有属性
    6.2.****好处:提高数据的访问限制,增强程序可维护性
    6.3.****封装代码实现:私有属性(属性被权限修饰符private修饰)和一对get(获取值) set(赋值)方法 6.4.private:权限修饰符(修饰成员属性,成员方法),只能在本类中使用
    6.5.this:指自身的引用(当前类)

    面试题:谈谈你对面向对象的理解
    封装:定义,好处,应用(面向对象的特征)

    7.构造方法:(构造方法也是可以重载的)
    7.1.作用:完成对象成员的初始化工作
    7.2.特点:a.没有返回值类型,连void都没有 b.方法名和类名相同 c.没有返回值
    7.3.按照参数分类:a.有参构造(如果一个类中有多个成员属性,如何为每一个成员属性初始化)
    b.无参构造(成员属性不多时) 7.4.调用:new对象
    7.5.每一个类都有一个默认的无参构造!当显示声明构造方法,那么默认构造被覆盖

    8.static(静态)关键字:0604Student
    8.1.特点:a.随着类的加载而加载 b.优先于对象存在 c.被类的所有对象共享
    (这也是我们判断是否使用静态关键字的条件
    )
    d.可以通过类名调用

    8.2.注意:a.在静态方法中是没有this关键字的 b.静态方法只能访问静态的成员变量和静态的成员方法
    8.3.静态方法的调用:类名.方法名();
    8.4.静态的内容存在于方法区的静态区
    9.代码块:局部代码块
    构造代码块
    静态代码块 在类中方法外出现,加了static修饰

    9.1.执行顺序:静态代码块 -》构造代码块 -》局部代码块

    package class05;

    public class Test {
    public Test(){
    System.out.println("无参构造器");
    }
    {
    System.out.println("构造代码块");

    }
    static{
    System.out.println("静态代码块");

    }
    public static void main(String[] args) {
    Test t=new Test();
    }

    结果:

    静态代码块
    构造代码块
    无参构造器

  • 相关阅读:
    javascript 基础知识-1
    AngularJs-指令和指令之间的交互(动感超人)
    AngularJs-指令和控制器交互
    奇点大学公开课之尼葛洛庞帝讲述物联网和智能设备
    AngularJs-数据绑定
    AngularJs-指令1
    AngularJs-MVC之路由、模块以及依赖注入
    AngularJS-MVC
    利用canvas制作图片(可缩放和平移)+相框+文字
    Django rest framework 认证组件源码分析
  • 原文地址:https://www.cnblogs.com/hdj1073678089/p/7277852.html
Copyright © 2020-2023  润新知