Java学习笔记三(对象的基本思想一)

1 面向对象编程(OOP)的基本思想

  面向对象就是描述对象和对象之间的相互作用;和面向过程编程的区别:面向过程编程时首先确定算法,再确定数据结构;OOP是先确定数据结构,在确定运算。

对象有两个特征:状态和行为;把相似的对象规化为一类,在软件中类就是一个模板,它定义了通用于一个特定种类的所有对象的所有状态和方法;

  类是创建对象的模板,对象的类的实例;

2 类的入口函数和构造函数

  (1)类的入口函数定义为 public static void main(Sting [] args)

        当一个类中有main()方法,执行命令“java 类名”则会启动虚拟机执行该类中的main方法。

        1)public关键字,声明主函数为public就是告诉其他的类可以访问这个函数。

        2)static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。

            如果 main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类

            并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。

        3)void关键字表明main()的返回值是无类型。

        4)参数String[] args 的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段

  (2)类的构造函数:在一个对象定义的时候就初始化该类的所有变量。它具有很类具有完全一样的名字,且构造函数没有返回值。

        构造函数的特点:1)构造方法的方法名必须与类名相同。 
                2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。 
                3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。 
                4)构造方法不能由编程人员调用,而要系统调用。 
                5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行

                    任何代码。 各种数据类型的默认值为 int -->0;boolean-->false;对象-->NULL;char--->‘\0‘
                6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。

3 Java 方法的重载

  产生重载的的知识点:

      1)、针对同一个类中的一个函数来说的;

      2)、这组函数中,函数名称相同(一般情况下建议功能相似的函数才做函数重载);

      3)、形式参数不相同,包括参数的个数不同、参数的类型不同或参数个数和类型都不相同;

      4)、与函数的返回值类型没有关系

      5)、在调用函数时会根据参数的类型和个数自动去匹配,决定调用哪个函数。这种匹配是不精确的,会找最精确的,如果没有最精确的,会找次精确的,以此类推,

        而且这种匹配不需要人为去调用。

时间: 2024-12-10 02:12:01

Java学习笔记三(对象的基本思想一)的相关文章

Java学习笔记----面对对象

最近开始着手整理自己学习的东西,把面向对象整理出来 什么是面向对象? 起初,"面向对象"是专指在程序设计中采用封装.继承.多态等设计方法. 面向对象的思想已经涉及到软件开发的各个方面.如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design).以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming). 什么是多态? 在面向对象语言中,接口的多种不同的实

Java学习笔记三:This用法

一般情况下,当我们在外部引用其他类的时候,需要声明这个类型引用,比如 ThisDemo td = new ThisDemo();   在"Java编程思想"中有这一段例子: Banana a = new Banana(); Banana b = new Banana(); a.peel(1); b.peel(2); 我们在声明对象引用的时候,通常用上述的方法,但是在编译器做了一些操作,实际操作结果为: 它暗自把"所操作对象的引用"作为第一个参数传递. Banana.

黑马程序员——JAVA学习笔记三(面向对象)

1,    面向对象设计程序(oriented object pragraming)  ,其程序是有对象组成,只要对象能满足要求,就不需要关心其功能的具体实现.面向对象的特征:封装(encapsulation)继承(inherence)多态(polymorphism). 2,    类是对事物的属性和行为的描述,构造对象的模板和蓝图.对象是类的实例,它具有三个特征:行为(behavior)状态(state) 对象标示(identity如何辨别具有相同状态和行为的对象).成员函数默认有一个隐含参数

JAVA学习笔记(三十二)- 字符流 FileReader & FileWriter

标题 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream;

JAVA学习笔记(三十五)- 随机读写文件 RandomAccessFile

RandomAccessFile类 /* * RandomAccessFile类,随机读写文件 * * 数据分段要有规律,每段大小相等,可以将每段数据设置为较大的值,足以存在每一个段的数据 * */ public class Test04 { public static void main(String[] args) throws IOException { //writeFile(); readFile(); } // 写入数据 public static void writeFile()

Spring.Net学习笔记三(对象的创建)

本文接下来要阐述的是IOC对象怎么创建,主要有3种方法: 第一种:构造器创建(嵌套类型对象的创建需要用“+”号来连接被嵌套的类型.如果在PersonDao中嵌套了类型Person) 类库代码: 1 namespace Dao 2 { 3 public interface IPersonDao 4 { 5 void Save(); 6 } 7 public class PersonDao : IPersonDao 8 { 9 public void Save() 10 { 11 Console.W

JAVA学习笔记(三十四)- 字节打印流 PrintStream

PrintStream字节打印流 import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintStream; import java.io.PrintWriter; import java.io.Reader; /* * Pri

Java学习笔记三---unable to launch

环境配置好后,在eclipse下编写HelloWorld程序: ①创建新工程 ②创建.java文件,命名为HelloWorld ③在源文件中添加main方法,代码如下: public void main(String[] args){ String.out.println("HelloWorld!"); } ④点击运行按钮,弹出如下的信息: The selection cannot be launched,and there are no recent launnches. ⑤检查代码

JAVA学习笔记(三十三)- 字节流转换为字符流

将字节流转换为字符流 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; /* * InputStreamRead