Java—面向对象程序设计

本文深入探讨了面向对象编程的概念,包括类的声明、成员数据和方法,以及如何创建和访问对象。同时,详细阐述了对象属性的初始化,包括缺省初始化和显式初始化。示例代码展示了如何在Java中定义和使用类、对象以及对象数组。通过这些内容,读者可以更好地理解和应用面向对象编程思想。


一、面向对象编程

面向对象是一种程序设计方法,使用对象和类等基本概念来进行程序设计,是一种符合人类思维习惯的编程思想。
类:是对现实世界事物的抽象定义,是对某类事物的描述。(类的成员包括属性和方法)
对象:是类的实例。

OOP操作过程:创建类,定义属性和行为后添加构造方法

1. 类

类的声明

示例:<修饰符> class <类名> {
    [<属性声明>]
    [<构造器声明>]
    [<方法声明>]
}

public class Student{
String name;
int age;
String sex;
}

类的成员数据

表明对象的状态,也称为实例变量
定义的格式:

[修饰符] 数据类型  变量名;
修饰符:final,private,protected,public,static

数据类型:基本数据类型,数组,类,接口

类的成员方法

类的方法实现了类所具有的行为,其他对象可以根据类的方法对类进行访问。
定义的格式:

[修饰符]	 返回类型 方法名([参数列表]){}
 修饰符:除了abstract,synchronized,native外,其他修饰与成员变量的一样。
  • 返回类型:基本数据类型,数组,类,接口,void
  • 方法名:可以是任何一个有效的标识符
  • 参数列表:可以基本数据变量,也可以数组,对象引用,接口变量

创建和访问对象

对象通过new语句来创建

//声明Teacher类型的引用变量t:
	 Teacher t; 
//使用引用变量引用对象:
	t = new Teacher();
  • 从一个类可以创建多个不同的对象
  • 每个对象有自己不同的属性值

对象数组

//声明方式
//抽象数据类型[]  objs
//分配空间
objs= new  //抽象数据类型[3]
// 初始化
objs[0]= new  //抽象数据类型构造函数

二、对象属性的初始化

  • 对象的属性,也称为字段,又称为实例变量。
  • 对象属性的初始化,即初始赋值,有以下同两种方式:
  • 缺省初始化赋值:对象被创建时,不同类型的属性首先被赋予不同的缺省值。
  • 显式初始化赋值:如果在类中声明属性时指定了初始值,那么在对象被创建时,相应的属性就被显式地赋予此初始值。
  public class Teacher {
      String name;      //使用缺省初始化
     String gender;    //使用缺省初始化
      int age = 30;       //使用显式初始化
  
      public void lecture() {
          //...
      }
  
     public void doExec() {
 
     }
 
     public String say() {
        String str = "我是" + name + ", 性别" + gender +", 年龄" + age;
        return str;
    }
 }
Java面向对象程序设计》(第2版)课后答案 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第1页。《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第1页。Java面向对象程序设计Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第1页。 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第1页。 (编著耿祥义X跃平) 习题1 1.James Gosling 2. (1)使用一个文本编辑器编写源文件。 (2)使用Java编译器(javac.exe)编译Java源程序,得到字节码文件。 (3)使用Java解释器(java.exe)运行Java程序 3.Java的源文件是由若干个书写形式互相独立的类组成的。 应用程序中可以没有public类,若有的话至多可以有一个public类。 4.系统环境path D\jdk\bin; 系统环境classpath D\jdk\jre\lib\rt.jar;.; 5. B 6. Java源文件的扩展名是.javaJava字节码的扩展名是.class。 7. D 8.(1)Speak.java (2)生成两个字节码文件,这些字节码文件的名字Speak.class 和 Xiti8.class (3)java Xiti8 (4)执行java Speak的错误提示 Exception in thread "main" java.lang.NoSuchMethodError: main 执行java xiti8得到的错误提示 Exception in thread "main" java.lang.NoClassDefFoundError: xiti8 (wrong name: Xiti8) 执行java Xiti8.class得到的错误提示 Exception in thread "main" java.lang.NoClassDefFoundError: Xiti8/class 执行java Xiti8得到的输出结果 I'm glad to meet you 9.属于操作题,解答略。 习题2 1. D 2.【代码1】【代码2】错误 //【代码3】更正为 float z=6.89F; 3.float型常量后面必须要有后缀"f"或"F"。 对于double常量,后面可以有后缀"d"或"D",但允许省略该后缀。 4.public class Xiti4{ public static void main (String args[ ]){ char ch1='你',ch2='我',ch3='他'; System.out.println("\""+ch1+"\"的位置:"+(int)ch1); System.out.println("\""+ch2+"\"的位置:"+(int)ch2); System.out.println("\""+ch3+"\"的位置:"+(int)ch3); } } 5.数组名字.length 6.数组名字.length 7.【代码1】A,65 【代码2】-127 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第2页。《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第2页。【代码3】 123456.783,123456.78312 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第2页。 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第2页。 8. 【代码1】false 【代码2】true 【代码3】false 【代码4】3 【代码5】4.4 【代码6】8.8 习题3 输出110 if-else语句书写的不够规X,复合语句缺少大括号"{}",代码不够清晰。 2.你好好酷!! 3. public class Xiti3_3 { public static void main (String args[ ]){ int startPosition=0,endPosition=0; char cStart='а',cEnd='я'; startPosition=(int)cStart; //cStart做int型转换据运算,并将结果赋值给startPosition endPosition=(int)cEnd ; //cEnd做int型转换运算,并将结果赋值给endPosition System.out.println("俄文字母表:"); for(int i=startPosition;i<=endPosition;i++){ char c='\0'; c=(char)i; //i做char型转换运算,并将结果赋值给c System.out.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值