java第六章总结

目录

一.类和对象

1.1对象

1.2

目录

一.类和对象

1.1对象

1.2类

1.3封装

1.4继承

1.5多态

1.6重写

二.类

 2.1成员变量

2.2成员犯法

2.3权限修饰符

 2.4局部变量

2.5this关键字

三.类的构造方法

3.1静态变量和静态方法

一.类和对象
1.1对象
对象是事物存在的实体,如人类,书桌,计算机,高楼大厦

对象分为两个部分,动态部分和静态部分。

静态部分:这个部分被称为“属性”任何对象都具备其自身的属性,如一个人的高矮胖瘦,性别,年龄等。

动态部分:这个部分被称为“行为”如一个人可以哭,跳,跑步等。

下图中男孩(boy)、女孩(girl)为类(class),而具体的每个人为该类的对象(object)。

   

1.2类
类就是同一类事物的统称,如果将现实世界中的一个事务抽象成对象,类就是这类对象的统称。

类是世间的事物的抽象称呼,而对象是这个事物的实体。

类对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的,所以类包括对象的属性和方法。

1.3封装
封装就是面向对象编程的核心思想.将对象的属性和行为包装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想.保证了类内部数据结构的完整性,提高了程序的可维护性。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

面向对象程序设计有这些特点:封装性,继承性,多态性。

1 public class Dog {
 2    private String name;
 3    private int age;
4  }

这段代码中,将 name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。

1.4继承
类之间的这种关系被称为关联.关联主要描述两个人类之间的一般二次关系,继承是关联的一种.(继承性主要利用特定对象之间的共有属性)

继承关系可以用树型关系来表示,父类与子类存在一种层次关系.一个类处于继承体系中,它既可以是其他类的父类,为其他类提供属性和行为,也可以是其他类的子类,继承父类的属性和方法,如三角形既是图形类的子类也是等边三角形的父类。

兔子和羊属于食草动物类,狮子和豹属于食肉动物类。

食草动物和食肉动物又是属于动物类。

所以继承需要符合的关系是:is-a,父类更通用,子类更具体。

虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。

类的继承格式:

class 父类 {
}
 
class 子类 extends 父类 {
}
1.5多态
多态是同一个行为具有多个不同表现形式或形态的能力。

多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:

多态性是对象多种表现形式的体现。

多态存在的三个必要条件

继承

重写

父类引用指向子类对象:Parent p = new Child();

1.6重写
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!

重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。

重写的格式:

参数列表与被重写方法的参数列表必须完全相同,返回类型与被重写方法的返回类型可以不相同。


class Animal{
   public void move(){
      System.out.println("动物可以移动");
   }
}
 
class Dog extends Animal{
   public void move(){
      System.out.println("狗可以跑和走");
   }
}
 
public class TestDog{
   public static void main(String args[]){
      Animal a = new Animal(); // Animal 对象
      Animal b = new Dog(); // Dog 对象
 
      a.move();// 执行 Animal 类的方法
 
      b.move();//执行 Dog 类的方法
   }
}

二.类
类对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的,所以类包括对象的属性和方法。

一个类可以包含以下类型变量:

局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。
 2.1成员变量
在JAVA中对象的属性也称为成员变量,成员变量可以是任意类型,成员变量的定义与普通变量的定义一样,语法如下:

数据类型 变量名称 [  = 值 ];(表示可选内容,即定义变量时可以其赋值,也可以不为其赋值.


public class Bird {
    String wing;  //翅膀
    String claw;  //爪子
    String beak;  //喙
    String feather; //羽毛
}

2.2成员犯法
1.成员方法的定义:

[权限修饰符] [返回值类型]  方法名(  [参数类型  参数名] ) [throws 异常类型] {
...//方法体
return 返回值;

[权限修饰符] 可以时public,private,protected中的任意一个,也可以不写,主要用来控制方法的访问权限;"返回值类型"指定方法返回数据的类型,可以是任何类型,如果方法不需要返回值,则使用关键字void;一个成员方法既可以有参数,也可以没有参数,参数可以是对象也可以是基本数据类型.

如果定义的方法有返回值,则必须使用return关键字返回一个指定类型的数据;
 

public int ShowGoods () {
   System.out.println("库存商品名称");
   return 1;
}

2.3权限修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。

default (默认的): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

private (私有的): 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

public (公共的): 对所有类可见。使用对象:类、接口、变量、方法

protected (受保护的): 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。


v-kun | 博客

 2.4局部变量
局部变量:在成员方法内定义一个变量

在方法被执行时创建,在方法执行结束时被销毁.在使用时必须进行赋值操作或被初始化

局部变量必须在方法、构造方法或语句块的开始处声明,可以初始化或不初始化。如果未初始化,则局部变量将包含一个默认值,例如 int 类型的变量默认值为 0。

局部变量只在声明它的方法、构造方法或语句块内可见,其他方法、构造方法或语句块不能访问该局部变量。当方法、构造方法或语句块执行完毕后,局部变量将被销毁,其占用的内存也会被释放。


public String getName() { //定义一个getName()方法
int id =0;  //局部变量
setName ("Jave"); //调用类中其他方法
return id+this.name;  //设置方法返回值
}public String getName() { //定义一个getName()方法
int id =0;  //局部变量
setName ("Jave"); //调用类中其他方法
return id+this.name;  //设置方法返回值
}

 public class Puppy{
    public Puppy(){
    }
 

3.1静态变量和静态方法
Java 中的静态变量是指在类中定义的一个变量,它与类相关而不是与实例相关,即无论创建多少个类实例,静态变量在内存中只有一份拷贝,被所有实例共享。

静态变量在类加载时被创建,在整个程序运行期间都存在。

静态变量的定义方式是在类中使用 static 关键字修饰变量,通常也称为类变量。


public class MyClass {
    public static int count = 0;
    // 其他成员变量和方法
}

如果想要使用类中的成员方法,需要将先这个类进行实例化,但有些时候不想或者无法创建类的对象时,还要调用类中的方法才能够完成业务逻辑,此时就可以使用静态方法.

3.2类的主方法
主方法是类的入口点,它定义了程序从何处开始;主方法提供对程序流向的控制,Java编译器通过主方法来执行程序。

主方法的语法如下:

Public static void main(String[] args) {
                                         //方法体
}
有以下特性:

(1)主方法是静态的,所以如要直接在主方法中调用其他方法,则该方法必须也是静态的.

(2)主方法没有返回

类名.静态方法();

3.2类的主方法

主方法是类的入口点,它定义了程序从何处开始;主方法提供对程序流向的控制,Java编译器通过主方法来执行程序。

主方法的语法如下:

Public static void main(String[] args) {
                                         //方法体
}

有以下特性:

(1)主方法是静态的,所以如要直接在主方法中调用其他方法,则该方法必须也是静态的.

(2)主方法没有返回值.

(3)主方法的形参为数组.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值