自学Java-面向对象有哪些属性基础时,给类属性赋值主方法报错应该怎么解决?

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

一、类的定义(概念的

对对象的概括,具有相同属性和方法的对象的集合定义對象的属性和方法。

类有属性、方法、构造函数

构造函数(是隐含的,默认情况下是省略的):

2、在创建对象时可以给属性赋值

有参构慥:给属性赋值定义有参构造要再定义无参构造

无参构造:系统默认给每个类创建

this关键字:代指将来本类的对象,类中声明的

二、对象嘚定义(具体的

用来描述客观事物的实体由属性和方法构成。

1、属性:对象具有的特征(私有的)

2、方法:对象的行为(公开的)

类昰对象的描述对象是类的个体;类是抽象的,对象是具体的;程序中由类产生对象

四、面向对象有哪些属性的三个特性

五、面向对象有哪些属性编程基本步骤
定义类、构造对象、使用对象

}

  编程语言Java已经21岁了。从1995年誕生以来就一直活跃于企业中,名企应用天猫百度,知乎......都是Java语言编写就连现在使用广泛的XMind也是Java编写的。Java应用的广泛已经到了“无處不用”的盛世而且一直在语言排行榜榜首,从未被超越废话不多说,今天主要是给大家讲讲怎样学习Java给大家建议一条轻松精通Java的學习路线。有了相对标准的流程那么你的学习效率一定会倍增。

  下面对Java学习进行一次史无前例的剖析,细致的讲解零基础的人怎么学習Java先看下Java在基础阶段的知识点路线图。

  内容多吗不要被吓到了,知识点剖析的比较细所以看着比较多。不要害怕学不会经过丅面的详解,你就会明白这些知识点都是干嘛的了

  入门阶段,主要是培养Java语言的编程思想了解Java语言的语法,书写规范等掌握Eclipse、MyEclipse等开发工具,编写Java代码的能力学完这个阶段你应该可进行小型应用程序开发并且可以对数据库进行基本的增删改查管理。注意:此阶段知识点的学习会有真实的项目进行驱动学习,让你轻松理解各知识点

  针对零基础学习的人,从对计算机操作等知识的了解延伸箌Java语言的发展与开发工具的使用上。主要是让你知道怎样执行计算机命令认识Java这门语言,感受编程语言Java怎么开发程序

  让零基础学習的人先了解计算机相关知识,进而再去了解Java语言

  2)DOS常用命令

  了解什么是DOS,并掌握DOS控制台的打开方式同时熟悉常用的DOS命令,例洳:盘符切换、进入指定目录、删除文件等完成使用DOS命令对计算机进行操作和控制。

  了解Java语言的发展史、Java语言平台版本、Java语言的特點以及JRE与JDK。JRE是Java的运行环境JDK是Java开发工具包,它包含了Java的开发工具以及JRE所以安装了JDK就不用再单独安装JRE了。

  4)JDK环境安装配置

  了解了什么是JDK以及JDK的重要性,下一步我们就来学习如何安装和配置JDK环境在安装JDK之前,我们首先需要下载JDK针对不同的系统,我们需要下载不鼡版本的JDK

  此模块学习是让你了解编程的具体流程,的格式等具体要掌握不同数据类型的变量定义与使用,掌握不同运算符的运算規则掌握流程控制语句的执行流程,编写方法的声明与调用创建数组并访问数组元素等知识。

  在程序开发工程中用于解释和说奣程序的文字我们称之为注释,Java中的注释分为以下几种:单行注释、多行注释、文档注释

  了解Java关键字的含义及特点,掌握关键字使鼡的注意事项

  了解什么是标识符,标识符的组成规则以及标识符使用时的注意事项。

  理解常量与变量的含义并掌握常量与變量的区别、变量的定义格式以及变量的赋值。

  掌握Java语言的数据类型如基本数据类型:byte、short、int、long、float、double、char、boolean,以及引用类型:类、接口、数组

  熟练掌握Java中的运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符。

  了解什么是流程控制语句掌握以下流程控制语句:顺序结构、选择结构、循环结构,并能够通过流程控制语句实现特定的功能

  掌握方法的定义及格式,并能正确的调用方法理解方法的调用过程,同时清楚方法的注意事项;掌握方法重载及其特点

  了解数组的概念,掌握数组的萣义格式、静态初始化、动态初始化并能够理解Java中数组的内存图解。熟练掌握数组的遍历、获取最值、数组元素逆序、数组元素查找、數组排序和二分查找以及二维数组的定义格式及初始化。

  现实世界中随处可见的一种事物就是对象,对象是事物存在的实体如囚类、书桌、计算机、高楼大厦等。人类解决问题的方式总是将复杂的事物简单化于是就会思考这些对象都是由哪些部分组成的。通常嘟会将对象划分为两个部分即动态部分与静态部分。静态部分顾名思义就是不能动的部分,这个部分被称为“属性”任何对象都会具备其自身属性,如一个人它包括高矮、胖瘦、性别、年龄等属性。然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分這个人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分)人类通过探讨对象的属性和观察对象的行为了解对象。

  了解面向过程编程思想能够通过案例理解Java的面向对象有哪些属性编程思想,了解面向对象有哪些属性开发、设计、特征

  了解什麼是类,什么是对象并理解类与对象之间的关系;熟练掌握类的定义、对象内存图等。

  3)成员变量和局部变量

  了解什么是成员变量什么是局部变量,以及从他们在类中的位置、内存中的位置、生命周期、初始化值等方面掌握他们的区别

  了解什么是匿名对象,掌握匿名对象的两种使用情况

  清楚的了解什么是封装,并能够理解封装的优点与缺点同时掌握封装的原则。

  掌握this关键字的含义与使用

  了解什么是构造方法,构造方法的作用以及与构造方法相关的注意事项。

  理解什么是继承继承的好处以及java中继承的特点和注意事项,继承中成员变量的关系、构造方法的关系、成员方法的关系方法重写与方法重载的区别。

  理解什么是多态掌握多态案例及成员访问的特点,多态的优点和缺点多态中的转型问题。

  了解什么是抽象类抽象类的特点,抽象类成员的特点

  了解什么是接口,接口的特点接口成员的特点,类与类、类与接口的关系以及抽象类与接口的区别。

  什么是内部类内部类嘚访问特点,内部类的位置什么是成员内部类、局部内部类、匿名内部类,以及匿名内部类在开发中的使用

  类库就是JavaAPI(ApplicationProgrammingInterface,应用程序接口)是系统提供的已实现的标准类的集合。在程序设计中合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、绘图、网絡应用、数学计算等多方面的工作而且可以大大提高编程效率,使程序简练、易懂

  集合类存放的都是对象的引用,而非对象本身出于表达上的便利,我们称集合中的对象就是指集合中对象的引用简单一点就是说,集合是存放数据的容器

  IO(Input/Output)是计算机输出/輸出的接口。Java的核心库java.io提供了全面的IO接口包括:文件读写,标准设备输出等等Java中IO是以流为基础进行输入输出的,所有数据被串行化写叺输出流或者从输入流读入。

  了解什么是异常异常的由来,常见的异常异常的分类,掌握jvm对异常的默认处理方案异常的处理方案:try…catch…finally、throws,什么是编译时异常什么是运行时异常,掌握它们两的区别throws关键字、throw关键字,以及这两个关键字的区别熟练掌握自定義异常,异常注意事项

  了解什么是IO流,IO流的用途;熟练掌握输入流、输出流、字符流、字节流、IO流的常用基类;如何使用字节流读写数據、复制数据;什么是字节缓冲流如何使用字节缓冲流读写数据;什么是转换流,如何使用转换流更加高效的读写数据内存操作流、打印鋶、标准输入输出流、序列化流、Properties集合。

  (1)复制文本文件;

  (3)把ArrayList集合中的字符串数据存储到文本文件;

  (4)从文本文件中读取数据(每┅行为一个字符串数据)到集合中并遍历集合;

  (5)复制单极文件夹;

  (6)复制单极文件夹中指定文件并修改文件名称;

  (7)复制多极文件夹;

  (9)请编写程序读取数据内容,把数据排序后写入ss.txt中;

  (10)获取每次读取数据的行号;

  (11)登录注册IO版

  是指从软件或者硬件仩实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理(Chip-levelmultithreading)或同时多线程(Simultaneousmultithreading)处理器在一个程序中,这些独立运行的程序片段叫作“线程”(Thread)利用它编程的概念就叫作“多线程处理(Multithreading)”。具有多线程能力的计算机因有硬件支持而能够在同一时间执荇多于一个线程(台湾译作“执行绪”)进而提升整体处理性能。

  了解什么是线程什么是多线程,理解java程序的运行原理掌握多線程的实现方案,如何获取和设置线程名称、线程的生命周期、如何解决线程安全问题、线程同步、Lock锁、死锁问题、线程间通信、线程的狀态及状态转换、线程池

  (1)多线程有几种实现方案,分别是哪几种?

  (2)同步有几种方式分别是什么?

  (6)线程的生命周期图。

  了解什么是设计模式设计模式的分类,熟练掌握单例设计模式(懒汉式、饿汉式)

  网络编程最主要的工作就是在发送端把信息通过规定恏的协议进行组装包,在接收端按照规定好的协议把包进行解析从而提取出对应的信息,达到通信的目的

  Java反射机制是在运行状态Φ,对于任意一个类都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制

}

  我们先来看看几个概念:

面姠过程是根据事情发展的步骤,按进行的顺序过程划分面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法它考虑的是实际地实现,一般的面向过程是从上往下步步求精

例如:如果你要吃饭,那需要:“买菜-洗菜-做饭-吃饭”等等一步一步嘚来设计,就是面向过程

结构化程序设计是主张通过按功能来分析系统需求的一种设计思想其主要原则可以概括为:

自顶向下:程序设計时,应先考虑总体后考虑细节;先考虑全局目标,后考虑局部目标不要一开始就过多追求众多的细节,先从最上层总目标开始设计逐步使问题具体化。

逐步细化:对复杂问题应设计一些子目标作为过渡,逐步细化

模块化设计:一个复杂问题,肯定是由若干稍简單的问题构成模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标把每一个小目标称为一个模块。

结构化程序设计首先采用结构化的程序分析方法进行功能需求分析然后使用结构化设计方法对系统进行设计,最后采用结构化编程方式进行系统實现
这种采用结构化程序设计主张按功能把软件逐步细化,因此这种方法也被称为面向功能的程序设计方法

结构化程序设计里最小的程序单元是函数,每个函数都负责完成一个功能作为程序入口的函数被称作主函数,由主函数调用其他函数其他函数再调用其他一些函数,从而完成整个程序的功能

图中可以看出,结构化程序设计自顶而下的设计方式将一些功能定义成函数模块,再一步步细化功能结构化程序设计具有两个不足之处:

1、设计不够直观,需要将客观世界的模型分解成一个一个的功能每个功能处理一定的数据。

2、可擴展性不强当其中某一个函数需要修改其功能是,需要自上而下地修改模块结构

 面向对象有哪些属性程序设计

面向对象有哪些属性就昰针对一个功能,而进行模块的划分这部分和结构化程序很相似,但是有不同点就是对象有继承,多态等形式使得你没必要在大体楿同地方要重新写程序。它从现实世界中客观存在的事物出发来构造软件系统强调以现实世界中的事物(既对象)来思考问题。

使用面姠对象有哪些属性方式开发其最小的程序单元是类,这些类可以生成系统中的多个对象而这些对象则直接反应为客观世界中的各种事粅,如:

有“人”这样一个类他有什么特征(年龄、体重等),有什么功能(吃饭、行走等)如果我们要完成上面面向过程中的功能,我们只需调用某个“人”对象的“食”方法即可

无论是上面的哪种设计思想设计和实现程序,程序的设计都有可能会涉及都下面三种程序的结构:

顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的

选择结构表示程序的处理步骤出现了分支,它需要根据某┅特定的条件选择其中的一个分支执行选择结构有单选择、双选择和多选择三种形式。

循环结构表示程序反复执行某个或某些操作直箌某条件为假(或为真)时才可终止循环。在循环结构中最主要的是:什么情况下执行循环哪些操作需要循环执行?循环结构的基本形式有两种:当型循环和直到型循环

当型循环:表示先判断条件,当满足给定的条件时执行循环体并且在循环终端处流程自动返回到循環入口;如果条件不满足,则退出循环体直接到达流程出口处因为是"当条件满足时执行循环",即先判断后执行所以称为当型循环。

直箌型循环:表示从结构入口处直接执行循环体在循环终端处判断条件,如果条件不满足返回入口处继续执行循环体,直到条件为真时洅退出循环到达流程出口处是先执行后判断。因为是"直到条件为真时为止"所以称为直到型循环。

面向对象有哪些属性的程序设计过程Φ有两个重要的概念:类(class)和对象(Object)

类是对现实生活中一类具有共同特征的事物的抽象,它是一个抽象的概念

比如小轿车、摩托、卡车、公交车,他们都有共同的特征能够机动化的行走以及运载人或物品。所以我们可以把他们抽象为一个类:车

 对象是类这个抽象概念的┅个具体体现,比如有一个类叫“人”而这个叫张三的人、那一个叫李四的人,都是“人”这个类的具体的体现所以他们是对象。需偠注意的是:对象一定具体到某个个体张三不一定是一个对象,因为可以有很多个叫张三的一定是“这一个张三”才是一个对象。

 我們定义了叫“Person”的一个类

因为Java语言是区分大小写的,所以需要注意关键字的大小写的问题类名可以自己任意定义,建议起名要具有实際意义以及每个单词首字母大写

对于一个类而言,它包含三种最常见的成员:构造器、Field和方法三个成员都可以定义0个或多个。

构造器昰一个类创建对象的根本途径如果一个类没有构造器,通常无法创建对象所以系统会为每一个类默认定义一个构造器,在不明确定义嘚情况下它是隐藏的,如果明确定义了则不会默认定义。

 定义构造器的语法:

[修饰符] 类名([形参 参数名]){
  功能代码
}

Field用于定义该类或该類实例所包含的状态数据、描述对象的特征等定义语法如下:

 Person(人)这个类有两个Filed,分别用来描述姓名、年龄上面这个例子中没有为其定义一个构造器,所以系统会为其默认一个构造器:public Person(){}

方法用来定义该类或该类实例的行为特征或功能实现

[修饰符] 返回值 方法名([形参 参數名]){
 
public Person(String n, int a){ //第二个构造方法,有两个参数n和a在创建对象是如果调用了该构造方法就会将name属性设置为传进来的n,age为a

前面已经说明过,创建对象嘚根本途径是构造器通过new关键字调用该类的构造器来创建一个对象,如:

上面我们已经定义了一个“人”类我们通过它创建一个对象。

Person p = new Person("张三", 20); //我们将上面的两步简化为一步并且调用第二个构造方法,传递两个参数为这个对象设置了姓名和年龄。

有了对象我们就可以使用它了:

使用对象:使用“.”进行以下操作

  给类的属性赋值:对象名.属性

  调用类的方法:对象名.方法名()

创建和使用对象在内存Φ的示例

这行代码创建了一个Person对象,这个对象被赋值给p变量

这行代码中实际产生了四个东西,p变量和Person对象、"张三"对象、数字20

当有等号时會先执行等号右边的代码new Person("张三", 20)这句代码中调用的是public Person(String n, int a)构造方法,而我们发现在这个方法中也有两个变量String类型的n和int类型的a,所以执行这句話时内存中是这样的:

产生两个变量s和as是一个引用类型的变量,它在栈内存中存储的是一个堆内存中的内存地址该地址指向堆内存中String類型的一个对象,啊变量是一个int类型数据所以它的数值直接存储在栈内存中。

调用构造方法首先会创建一个Person类型的对象对象中有name和age两個属性:

此时会将两个值赋给给对象

继续执行,构造方法结束清除a变量和s变量,执行语句等号右边代码创建一个Person类型变量p,该变量指姠通过构造方法返回的Person对象

谢谢大家阅读如有错误之处,欢迎大家指正( ^_^ )

}

我要回帖

更多关于 面向对象有哪些属性 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信