当前位置: 首页 > news >正文

网站建设标准流程及外包注意事项/aso优化的主要内容

网站建设标准流程及外包注意事项,aso优化的主要内容,推荐一个做照片书的网站,推广赚钱一个2元Java语言基础篇(四) 目录Java语言基础篇(四)一、面向对象程序设计1、概念2、面向对象的三大特性二、封装1、定义2、作用3、访问修饰符4、其他修饰符三、类和对象1、类2、对象3、初始化块一、面向对象程序设计 1、概念 面向对象程…

Java语言基础篇(四)

目录

      • Java语言基础篇(四)
        • 一、面向对象程序设计
          • 1、概念
          • 2、面向对象的三大特性
        • 二、封装
          • 1、定义
          • 2、作用
          • 3、访问修饰符
          • 4、其他修饰符
        • 三、类和对象
          • 1、类
          • 2、对象
          • 3、初始化块

一、面向对象程序设计

1、概念

面向对象程序设计(OOPObject Oriented Programming),是一种计算机编程架构,由对象所组成,对用户公开特定的功能部分,隐藏具体的实现内容,即它不关心对象的具体实现,只需满足用户的需求即可。面向对象的重点是对象

2、面向对象的三大特性
  • 封装
  • 继承
  • 多态
  • 抽象(面试时,假如面试官问到面向对象的四大特性有哪些,就把抽象也给回答上)

二、封装

1、定义

封装是面向对象三大特性之一,它将数据(属性)和行为(方法)组合在一个类中,对对象的调用者隐藏数据的实现方式,它不能让类中的方法直接访问其他类中的实例域,而是通过对象的方法与对象的数据进行交互。

2、作用

封装的作用:

  • 给对象赋予“黑盒”特性
  • 提高代码的重用性(复用)和可靠性(安全
3、访问修饰符
  • 定义:访问修饰符又可以叫做权限修饰符,可以用来修饰类、成员变量和成员方法。
  • 分类:
    • default
    • private
    • protected
    • public
  • 访问修饰符的作用范围
修饰符当前类同一包子类(可不同包)不同包
private
default
protected
public
4、其他修饰符
  1. final修饰符
    final修饰符可以修饰类、方法及变量,表示“最终” 的意思。
    ① final修饰的类不能继承,其中所有方法自动升为final方法,不包括域(属性),如String类,StringBuffer等。
    ② final修饰的方法不能被子类重写。
    ③ final修饰的变量为常量,只能赋值一次,不能再次修改。
    ④ final修饰的成员变量必须在声明的同时进行赋值,赋值机会只有一次,即在构造方法中进行赋值才能使用。
  2. static修饰符
    static修饰符可以修饰方法及变量,表示“静态”的意思。
    静态成员变量属于类,不属于任何独立的对象,因此无需创建类的实例就可以访问到静态成员变量。static的变量在类装载时便被初始化。
    ① 一个类的静态成员方法只能访问静态成员变量。
    ② 一个类的静态成员方法不能够直接调用非静态成员方法。
    ③ 可以通过类的实例.静态成员方法来进行访问,但不推荐这样使用;
    ④ 静态方法中不存在当前对象,因此不能使用 this,当然也不能使用 super
    ⑤ 静态方法不能被非静态方法覆盖;
    ⑥ 构造方法不允许声明为 static 的;
    ⑦ 局部变量不能使用static修饰。
  3. this修饰符
    this用来表示当前类的实例。
    作用:
    ① 在构造方法中作为方法名表示调用当前类的其他构造方法。
    ② 调用当前类的其他成员变量或者成员方法。
  4. super修饰符
    super是一个指示编译器调用超类方法的特殊关键字。
    作用:
    ① 调用父类中声明为private的变量。
    ② 调用在子类中已被覆盖的方法。
    ③ 作为方法名表示父类构造方法。

三、类和对象

1、类
  • 定义:类是对现实生活中一类具有共同属性行为的事物的抽象,是构造对象的模板,是Java程序的基本组成单位

  • 本质:

    • 类是对象的数据类型
    • 类是相同属性行为的一组对象集合。
  • 类的组成

    • 属性:在类中通过成员变量(类中方法外的变量)来实现。
    • 行为:在类中通过成员方法来实现。
  • 识别类的简单规则:分析问题然后寻找名词,成员方法可以查找问题中出现的动词。

  • 类的定义
    格式:

    public class 类名 {//成员变量数据类型 变量名;...//成员方法数据访问修饰符 返回的数据类型 方法名() {}
    }
    

    例子:

    public class User {//成员变量private String name;private Integer age;//成员方法public String eat() {System.out.println("吃饭");}
    }
    
  • 类之间的关系

    • 依赖(“user-a”):这种关系是最常见的,也是最明显的,例如在类的一个方法操作另外一个类的对象。
      例子:

      class A {public void testA() {B b = new B();b.testB();}
      }class B {public void testB() {System.out.println("B say hello!");}
      }
    • 聚合(“has-a”):这种关系是具体的,也易于理解,即一个类中包含另外一个类。
      例子:

      class A {private B b;
      }class B {private A a;
      }
      
    • 继承(“is-a”):这种关系的本质就是特殊一般,即子类继承于父类,子类拥有了父类的成员变量和方法。
      例子:

      class A {public String s;public void sayHello() {System.out.println("hello");}
      }class B extends A {}
      
2、对象
  • 概念:对象的实例,是类的具体表现形式,在现实生活中是能够看得见摸得着的真实存在的实体。

  • 组成:实例域(属性)和方法(行为)

    • 实例域:是对象中的数据
    • 方法:操作数据的过程,用于操作对象及存取实例域。
  • 对象的使用

    • 构造器:构造器顾名思义就是构造对象的方法或者也可以叫做构造函数,是一种特殊方法,对象由其进行创建,它指定一个初始状态并且对对象使用对象中的成员方法。
      构造器的特点:
      1. 与类同名;
      2. 每个类可以有一个以上的构造器;
      3. 可以有0个、1个或多个参数;
      4. 没有返回值;
      5. 总是伴随着new操作一起使用;
      6. 定义一个类,没构造器,系统提供默认提供一个无参构造器。
      7. 如果自定义了构造函数,那么编译器就不自动创建构造函数。可以自行定义一个无参构造函数(推荐)

    • 创建对象
      格式:类名 对象名 = new 类名();
      示例:

      public class Main {public static void main(String[] args) {//初始化新构造的对象User user = new User();System.out.println(user);//引用一个已存在的对象User user2 = user;System.out.println(user2);}
      }class User {public String name;
      }
      

      上述示例的main方法中的user是一个对象变量,它本身不是一个对象,首先必须得进行一个初始化,初始化的方式有2种,上述示例已给出,new 操作符返回的本身就是一个引用,因此,在Java中,任何对象变量的值都是对存储在另外一个地方的一个对象的引用。

    • 成员变量的使用
      格式:对象名.成员变量名;
      示例:

      public class Main {public static void main(String[] args) {User user = new User();user.name = "如花";System.out.println(user.name);}
      }class User {public String name;
      }
      

      上诉成员变量的使用破坏了Java的封装性,在Java中有更改器方法(mutator method)和访问器方法(accessor method)来修改对象状态和访问对象

      成员变量的使用改进版:

      public class Main {public static void main(String[] args) {User user = new User();user.setName( "如花");System.out.println(user.getName());}
      }class User {private String name;/*** 访问器方法*/public String getName() {return name;}/*** 更改器方法*/public void setName(String name) {this.name = name;}
      }
      
    • 成员方法的使用
      格式:对象名.成员方法名;
      示例:

       public class Main {public static void main(String[] args) {User user = new User();user.sayHello();}
      }class User {public String name;public void sayHello() {System.out.println("hello!");}
      }
      
  • 成员变量和局部变量

    • 成员变量:定义在类中成员方法之外。

    • 局部变量:定义在成员方法内或方法声明上。

    • 区别:

      • 成员变量放在堆内存中,局部变量放在栈内存中。
      • 成员变量随着对象的存在而存在,随着对象的消失而消失;局部变量随着方法的调用而存在,随着方法的调用完毕而消失。
      • 成员变量初始化有默认的初始化值;局部变量没有默认的初始化值,必须先声明和赋值才能调用。
3、初始化块

        初始化块是Java类中出现的成员,用来初始化对象。在初始化块中可以执行任何可执行的语句以及定义方法块局部变量和调用方法等。

  1. 对象初始化块
    对象初始化块也叫做普通初始化块,普通初始化块是对对象进行初始化。
    demo

    public class Person {//定义一个初始化块{System.out.println("第一个初始化块");}//定义第二个初始化块{System.out.println("第二个初始化块");}//定义无参的构造器public Person() {System.out.println("Person的无参构造器");}public static void main(String[] args) {new Person();}}
    

    运行结果如图所示:
    在这里插入图片描述

  2. 静态初始化块
    当普通初始化块被static修饰后就变成了静态初始化块,也被称做类初始化块。

    注意:初始化块只能被static修饰符进行修饰。

    demo

      public class Person {//定义一个静态初始化块static {System.out.println("Person的静态初始化块");}//定义一个初始化块{System.out.println("Person的第一个初始化块");}//定义第二个初始化块{System.out.println("Person的第二个初始化块");}//定义无参的构造器public Person() {System.out.println("Person的无参构造器");}public static void main(String[] args) {new Person();}}

    运行结果如下图所示:
    在这里插入图片描述

关于Java的初始化块、静态初始化块、构造函数的执行顺序请自行查阅:Java的初始化块、静态初始化块、构造函数的执行顺序及用途探究

上一篇 Java语言基础篇(三)

http://www.lbrq.cn/news/1589113.html

相关文章:

  • 网站建设方案书模板/网络营销公司注册找哪家
  • 开发一个交友app多少钱/小熊猫seo博客
  • 亿唐网不做网站做品牌/网站流量统计平台
  • wordpress首页图片导航分类/企业seo
  • 使用jquery的网站/app渠道推广
  • 佛山优化网站/seo教程自学
  • 杭州网站建设代理商/seo网站排名
  • 宁波做360网站推广/站长之家端口扫描
  • 做网站需要交印花税/现在推广引流什么平台比较火
  • 提供网站设计服务商/上海专业seo排名优化
  • 四川宜宾市网站建设公司/网站注册步骤
  • 本科生做网站编辑/设计师必备的6个网站
  • 衡水高端网站建设/抖音推广怎么做
  • 上海专业网站建设哪家好/优化营商环境的意义
  • 网站建设路由设置/国外免费ip地址
  • 做公司的网站怎么上线/加快百度收录的方法
  • 重庆企业品牌网站建设/广告公司主要做什么
  • 创意设计报告模板/百度seo教程视频
  • 国际贸易新闻最新消息/竞价托管优化公司
  • hot插件 wordpress/seo培训中心
  • 石湾建网站/凡科建站小程序
  • 哈尔滨网站排名公司/apple私人免费网站怎么下载
  • 网站打开太慢/seo模拟点击工具
  • 泰州网站开发公司/竞价托管运营哪家好
  • 安徽合肥做网站的公司有哪些/百度人工服务24小时
  • 品牌茶业都在哪些网站做宣传/最新搜索关键词
  • 免费做的网站怎么设置域名解析/网站建设杭州
  • 便宜网站开发培训/购物链接
  • 北京网站优化对策/西安seo专员
  • 电商网站开发报价/无锡seo
  • OpenAI 开源模型 gpt-oss 正式上线微软 Foundry 平台
  • 十八、k8s细粒度流量管理:服务网格
  • 【软考系统架构设计师备考笔记4】 - 英语语法一篇通
  • 阿里云 Flink
  • selenium操作指南
  • 使用ProxySql实现MySQL的读写分离