第七章Java语言类的特性

 7.1类的private成员与public成员

1).private 私有

如果在类的成员声明的前面加上修饰符private,则就无法从该类的外部访问到该类内部的成员,而只能被该类自身访问和修改,而不能被任何其他类,包括该类的子类来获取或引用,因此达到了对数据最高别保护的目的.

2).public 公共

 如果在类的成员声明的前面加上修饰符public,则表示该成员可以被所有其他的类所访问.但由于public修饰符会造成安全性和数据封装性的下降,所以一般应减少公共成员的使用.

3).friendly 友元

友元访问控制符可以省略.也就是说在类内声明类成员时,不外加任何访问控制修饰符,则该成员是一个友元.

 

7.2方法的重载

重载是指相同的方法名称,如果参数个数不同,或者是参数个数相同,但类型不同,则方法就具有不同的功能.

 

7.3构造方法

1).构造方法的作用与定义

构造方法的名称必须与它所在的类名完全相同.构造方法没有返回值,但在定义构造方法时,构造方法名前不能用修饰符void来修饰,这是因为一个类的构造方法的构造方法的返回值类型就是该类本身.构造方法定义后,创建对象时就会自动调用它,因此构造方法不需要在程序中直接调用,而是在对象产生时自动执行.这一点不同于一般的方法,一般的方法是在需要用到时才调用.

2).默认的构造方法(default constructor)

eg:系统产生默认的构造方法

Cylinder(){ }

3).构造方法的重载

构造方法的重载,可以让用户用不同的参数来构造对象.

4).从一个构造方法调用另一个构造方法

利用这个方法,可缩短程序代码,减少开发程序时间.从某一构造方法内调用另一个构造方法,是通过关键字this来调用的.

在某一构造方法中调用另一构造方法中必须使用this关键字来调用.

5).公共构造方法与私有构造方法

构造方法一般都是共有的(public),而不可以声明为私有的,这是因为它们在创建对象时,是在类的外部被系统自动调用的.

 

7.4静态成员

1).实例成员

在类定义中如果成员或者成员方法没有用static来修饰,则该成员就是实例成员.

2).静态变量

对于该类的任何一个具体对象而言,静态变量是公共的存储单元,不保存在某个对象实例的内存空间中,而是保存在类的内存空间的公共空间的公共存储单元中.

静态变量在某种程度上与其他语言的全局变量相似,如果不是私有的就可以在类的外部进行访问,此时不需要创建类的实例对象,只需要类名就可以引用.

使用格式:

        1)    类名.静态变量名

        2)   对象名.静态变量名

3).静态方法

静态方法实质上是属于整个类的方法,而不加static修饰符的方法,是属于某个具体对象的方法.

在静态方法中不能使用this和super.

因为this是代表调用该方法的对象,但现在静态方法既然不需要对象来调用,this也自然不应存在于静态方法的内部.

4).静态初始化器

由static修饰的一对花括号"{ }"括起来的语句组.在类被加载时只执行一次,与创建多少个对象无关.

 

7.5对象的应用

1)对象的赋值与比较

一般是先用new运算符创建对象,然后再对其进行操作处理.

当参数是基本数据类型时,是传值方式调用,而当参数是引用变量时,则是传址方式调用.

2)引用变量作为方法的返回值

eg:

class Person

{

  String name;

  int age;

  public Person( String name,int age )

  {

    this.name = name;

    this.age = age;

  }

  public Person compare( Person P )    //返回值类型为对象

  {

    if(this.age > P.age )  return this;    //返回调用该方法的对象

    else  return P;    //返回参数对象

  }

}

3).类类型的数组

用数组来存放对象,一般要经过如下两个步骤:

    1.声明类类型的数组变量,并用new运算符分配内存空间给数组;

    2.用new创建新的对象,分配内存空间给它,并让数组元素指向它.

eg:

public class app7_13

{

  public static void main( String[] args )

  {

    Person Per[];    //声明类类型的数组

    Per = new Person[3];    //用new为数组分配内存空间

    Per[0] = new Person( "zhangsan", 20 );    //用new运算符创建新对象,并分配给数组元素

    Per[1] = new Person( "lisi", 21 );

    Per[2] = new Person( "wangwu", 22 );

  }

}

4).以对象数组为参数进行方法调用

数组也可以存放对象.因此也可将对象数组作为参数传递到方法里.

public static int min_age( Person p[] )

{

  int min = 200;

  for( int i = 0; i < p.length; i++ )

    if( p[i].age < min )

      min = p[i].age;

  return min;

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 第1章《认识java语言》是介绍Java语言的起源、发展以及特点等基本知识。Java是一种跨平台的高级编程语言,被广泛应用于开发Web和移动应用程序等领域。它具有面向对象、可移植、健壮性好等特点。 第2章《Java语言基础》是介绍Java语言的基本语法、数据类型运算符、控制流程等内容。学习这些基础知识对于理解和编写Java程序至关重要。 第3章《面向对象程序设计之一》是介绍面向对象编程的原理和基本概念。学习面向对象的思想和方法可以提高程序的可扩展性和重用性。本章内容包括对象、封装、继承、多态等知识点。 第4章《面向对象程序设计之二》是进一步探讨面向对象编程的高级特性。学习抽象、接口、内部等内容可以让我们写出更加灵活和健壮的Java程序。 第5章《Java基础库》是介绍Java标准库中的常用和接口。掌握这些的使用方法可以大大简化程序开发,如字符串处理、集合框架、IO操作等。 第6章《图形用户界面程序》是介绍使用Java编写图形用户界面(GUI)程序的方法。学习Swing和JavaFX等技术可以实现丰富、直观的用户界面。 第7章《输入输出流》是介绍Java中的输入输出操作。学习文件读写、网络通信等知识可以实现数据的持久化和交互。 第8章《多线程并发编程》是介绍Java多线程编程的原理和方法。学习多线程操作可以充分利用多核处理器的优势,提高程序的并发性和响应性。 第9章《网络编程》是介绍使用Java进行网络通信的方法。学习Socket编程、HTTP协议等内容可以开发出基于网络的应用程序。 第10章《数据库编程》是介绍使用Java连接和操作数据库的方法。学习JDBC等技术可以实现与数据库的交互,进行数据持久化和查询。 通过学习这些章节的内容,可以全面掌握Java语言的基础知识和常用技术,为进一步深入学习和应用Java打下良好的基础。 ### 回答2: 第1章:认识Java语言 第1章介绍了Java语言的基本概念和特点。Java是一种跨平台的编程语言,被广泛应用于Web开发、移动应用开发等领域。Java具有简单易学的特点,使用了面向对象的编程思想,具有良好的可扩展性和可维护性。 第2章:Java语言基础 第2章主要介绍了Java语言的基本语法和常用的数据类型。包括变量、常量、运算符、流程控制语句等。同时还介绍了Java中的数组、字符串和输入输出等相关知识。 第3章:面向对象程序设计之一 第3章介绍了面向对象程序设计的基本概念和常用的面向对象特性。包括对象、继承、封装和多态等。同时还介绍了如何定义和使用,以及如何实现各种面向对象特性。 第4章:面向对象程序设计之二 第4章进一步深入介绍了面向对象程序设计的相关知识。包括接口、抽象、继承和多态的高级应用,以及异常处理和内部等。这些知识对于构建复杂的面向对象程序非常重要。 第5章:Java基础库 第5章介绍了Java基础库中常用的和方法。包括字符串、日期、时间、集合、文件和输入输出等库的使用。这些库为我们提供了丰富的功能,在Java编程中非常实用。 第6章:图形用户界面程序 第6章介绍了Java图形用户界面编程的相关知识。包括Swing和AWT等GUI库的使用,以及事件处理和布局管理器等。通过学习这些知识,我们可以编写出漂亮、交互性强的图形界面程序。 第7章:输入输出流 第7章介绍了Java中输入输出流的使用。包括字节流和字符流的概念、File的使用以及文件读写和网络通信等。这些知识对于实现数据的读写和传输非常重要。 第8章:多线程并发编程 第8章介绍了Java多线程并发编程的相关知识。包括线程、线程同步和线程通信的概念,以及锁和条件的使用。同时还介绍了线程池的概念和使用,以及如何处理并发编程中的常见问题。 第9章:网络编程 第9章介绍了Java网络编程的基本知识。包括Socket编程、TCP和UDP协议,以及HTTP协议的使用。通过学习这些知识,我们可以编写出具有网络功能的Java应用程序。 第10章:数据库编程 第10章介绍了Java数据库编程的相关知识。包括连接数据库、执行SQL语句、事务处理和数据查询等。通过学习这些知识,我们可以使用Java操作各种类型的数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值