`

Language

    博客分类:
  • Java
阅读更多

Language — the Java Programming Language. 

 

 

 

 

Class Declaration:



 
问题: 我们有一辆小汽车,可以在一个拥有x y坐标的地图上按照东南西北方向任意的行驶,你可以设定小车行驶的方向和距离,小车会向你汇报它的坐标位置。

 

 

过程:      问题产生利用语言代码解决问题

 

     把小汽车看成对象引入对象(Object): 抽象、消息、接口、封装、继承、多态

               

     创建类(只要把一个物体看成是对象的话,就可以创建一个类来处理它);

               

关键字:定义,初始化,访问权限,引用,转型

定义:所有的类,属性,方法都要经定义后使用;

初始化: 类的初始化->构造器  属性的初始化->非必需,未定义时为 0;

访问权限: 包,类,属性,方法都有访问权限;Public Protected Private

引用: 包括自身的引用;类之间的引用

转型: 数据类型相互转换

I 定义,初始化,访问权限

/*

*注释各嵌入式文档

*/    

import java.util.*;[类库->]//package

Class Declaration

 

 

package .*;

 

 public abstract/final class name of class extends Superclass implements interfaces   {//scope

 

     [Visibility] [static] [final] [数据类型]  Variable ;//数据初始化

 

       Constructor

 

     [Visibility] [ Abstract] [static] [final] [返回类型] Methods(parameters list){

            1 构造与清理-> 数据初始化

  2 方法重载

Class Body

  3 算法、流程控制

}

      清理->垃圾回收器

}

 

成员访问限制(Visibility: 包访问权限 Public Protected Private

 

Public : 可以给所有的类访问,共用接口;

Private 只可供内部类访问,其它的类不能访问;

Protected:  只可供内部类和其子类访问;

 

类的静态成员(Static) :类似全局变量,可用于声明变量与方法;

 

Abstract

 

Final : final method

         Cannot be overridden in subclass

    final class

         Cannot be superclass (cannot be extended)

          Class cannot inherit final classes

 

Extends:  

- Create class (subclass) from existing one (superclass)

          Subclass creation does not affect superclass

         New class inherits attributes and behaviors,except private

         Software reuse

 

Imterface :

 

Variable: 定义、声明与初始化一个变量;

        定义:指定它的数据类型包括:Boolean Integer Float Array String NULL,void,

在定义时我可以采用数据集合collections(Array, collection(list,set),Map)进行存储成员属性

        声明:Public  Private  Protected  Static  final

       

Constructor: 1. Same name as class

            2. Initializes instance variables of a class obiect

            3. Call class constructor to instantiate object of that class

            4. Overload constructor

    _ Methods (in same class) may have same name

_ Must have different parameter lists

 

Methods:    methods declaration name of methods (parameters list) {

             Methods Body

            }

 

Methods Declaration : public  private  protected  static  abstract

 

Methods Body   引入 Java API  结构控制 运算符与表达式等

Methods return value:

Method Overloading :

         Several methods of the same name

         Different parameter set for each method

          Number of parameters

          Parameter types

I 类与对象

1.1 类与对象的基本概念;

类是数据与方法的集合体; 从这个定义看出编写类其实就是在写类的数据与方法;

类的实例化,称为对象;通常用new 创建;

.

. 访问权限

包括:包、类、属性、方法;

1.2 数据类型

 数据类型:基本数据类型与类类型;凡没有说明程序所讲的类型均指数据类型

1.3 编写类

类的一般组成 如上

1.4 定义

不管是类、属性、方法都要先定义后使用;

1.5 对象的创建、使用各生命期

 

II  属性

2.1 属性即为数据;具有容器的功能,

2.2 属性的定义

一般的形式:

[Visibility,static,final] [数据类型]  Variable ;//数据初始化

 

数据类型,一定要有,但[Visibility,static,final]可有可无; 其中数据类型包括基本数据类型与类类型

基本数据类型: boolean char byte short int long float double void  ;

类类型: Object String str = new String(“abc”);

特殊的数据类型: String Array

2.3 属性的初始化

javainstance variable 是自动初始化的;而局部变量是不初始化的;

只要定义了instance variable 便可以在方法中直接调用;

class MyClass{

String str = new String(“abc”);// 当定义为 static str 不可在getFirstStr中使用;

String getFirstStr(String str){

Return str;

}

}

但在static 以及main()中是不可以使用的;

2.3.2 数组的初始化

属性的初始化时;所指定的值,在别外调用时可以动态改变;

int[ ] x = int [2];

int[ ]y = {1,2,3,4,5,6};

x=y; // 虽然x 指定长度为2 但也可赋于比它还长的数组;

 

III 方法(method)

3.1 方法的组成

[方法声明 :Visibility,Static,Abstract,final] [返回类型] Methods(Argument list){

       /* Method body */

}

方法的基本组成部分包括:名称、参数、返回值与方法体;

方法名和参数列表共同唯一地标识出某个方法;

 

参数不像php那样doSomeThing($num=1,isOk=false)可以赋值初始化;

而是通过 类型声明 doSomeThing(int num,boolen isOk)

3.2 方法的初始化

构造器->构造方法

特点:无返回值支持重载

 

3.3重载

区分方法重载的方法有:1 传入参数不同 ;

方法调用原则:看原形,意思就是说 Overload.inFro(); Overload.inFro(int i)

3.3.2 构造器的重载

 

3.4清理

 

3.5 特殊的方法:接口

没有定义的方法-->接口

interface myInterFace{}

 

3.6 方法的设计

3.6.1 递归(Recursion)  Vs 迭代(Iteration)

3.6.2 算法设计

 

小结:

1 方法的调用都有要通过对象且是通过发送消息的方式; Math.abs(int i);

2

.转型

 

 

 

 

 

 

  • 大小: 37.4 KB
  • 大小: 19.5 KB
分享到:
评论

相关推荐

    Foundation Models for Natural Language Processing

    "Foundation Models for Natural Language Processing" Foundation Models for Natural Language Processing是自然语言处理领域的基础模型,旨在为自然语言处理提供统一的架构。该模型基于大模型(Pre-trained ...

    Transformers for Natural Language Processing.pdf

    《Transformers for Natural Language Processing》是一本深入探讨自然语言处理(NLP)领域的专著,主要聚焦于Transformer架构,这是由Google等领先科技公司引入的一种革新性深度学习模型。本书旨在教你如何使用...

    TexStudio英语语法检查插件LanguageTool

    在这款编辑器中集成英语语法检查插件LanguageTool,极大地提升了文本的准确性和专业性。LanguageTool 是一个开源的多语言拼写和语法检查工具,支持多种语言,包括英语。该插件的安装和使用依赖于Java运行环境,因此...

    The Swift Programming Language 各版本集合包(epub,mobi,pdf)

    Apple最新的编程语言swift官方文档《The Swift Programming Language》的epub,mobi以及pdf 版本,epub 版本为官方英文版,拥有完整的目录,pdf和mobi为epub个人转制版,适合不同设备阅读。 Swift is a new ...

    Altium Designer强大的Query Language Reference.pdf

    Altium Designer是电子设计自动化软件,广泛应用于电路设计领域,其中的Query Language是其强大的数据过滤和编辑系统,可让用户通过特定的查询语句获取软件中的一组特定对象。本教材对Altium Designer中使用的Query ...

    Java Language Conversion Assistant

    Java Language Conversion Assistant is a tool that automatically converts existing Java-language code into Visual C#® Quick Info File Name:VS7.1-KB819018-X86.exe Download Size:10092 KB Date Published:...

    《The Swift Programming Language》中文版

    《The Swift Programming Language》中文版是一本专门为Swift编程语言爱好者和开发者编写的指南,它深入浅出地介绍了Apple公司推出的这款高效、现代化的编程语言。Swift以其简洁的语法、强大的功能和安全的设计理念...

    Java Language Specification(Java编程规范)中英文

    Java Language Specification(Java编程规范)是Java开发人员的权威指南,它定义了Java语言的语法、语义以及程序设计的最佳实践。这份规范是Java开发者理解语言特性和编写高质量代码的基础。这里,我们将深入探讨...

    language 2000 language.EXE 侦壳

    《语言2000:深入理解language.EXE的侦壳技术》 在计算机科学与信息技术领域,"语言2000"可能是指一种特定的编程语言或者开发环境,而"language.EXE"则很可能是该环境的核心执行文件。"侦壳"一词在这里指的是程序的...

    gpt3-Language-Models-are-Few-Shot-Learners.pdf

    Language Models are Few-Shot Learners 本篇论文介绍了大型语言模型 GPT-3 在少样本学习(few-shot learning)任务中的出色表现。实验表明,GPT-3 能够在无需fine-tuning的情况下,仅通过少量示例或简单的指令,就...

    ERNIE:Enhanced Language Representation with Informative Entities.pdf

    Neural language representation models such as BERT pre-trained on large-scale corpora can well capture rich semantic patterns from plaintext,andbefine-tunedtoconsistentlyimprove the performance of ...

    The AWK programming language(中文版)

    值得注意的是这本 书的第二作者Brain W是神一样耳朵科学家,他是《The C programming language》的作者,Brain的《程序设计与实现》也是一本好书。 AWK的学习资料网上一搜一大片,其实只要静下心来把这本书中的代码...

    《Language Models are Unsupervised Multitask Learners》

    《Language Models are Unsupervised Multitask Learners》 本文总结了论文《Language Models are Unsupervised Multitask Learners》的主要内容和贡献,论文探讨了语言模型在无监督学习下的多任务学习能力。 自然...

    Chinese ​(Simplified)​ Language Pack

    "Chinese (Simplified) Language Pack" 是一个针对简体中文用户设计的语言包,主要用于软件或操作系统,目的是为了提供中文界面,使用户能够更方便地理解和使用产品。这个语言包包含了各种用户界面元素的翻译,例如...

    前端项目-i18next-browser-languagedetector.zip

    【前端项目-i18next-browser-languagedetector】是一个专为浏览器环境设计的国际化(i18n)语言检测工具。它与流行的i18next库配合使用,能够自动识别用户浏览器的语言设置,从而为用户提供更加本地化的前端体验。 ...

    LanguageTool-2.8

    《LanguageTool-2.8:提升LaTeX写作的精准与流畅》 LanguageTool-2.8是一款专为LaTeX Studio设计的插件,其主要功能是帮助用户在编写LaTeX文档时检查并修正语言错误。这款工具的强大之处在于它不仅能够检测拼写错误...

Global site tag (gtag.js) - Google Analytics