`
神说要好好学习
  • 浏览: 5732 次
  • 性别: Icon_minigender_2
最近访客 更多访客>>
社区版块
存档分类
最新评论

类和对象、继承

 
阅读更多
本来想第一篇博客写的洋气一点,但由于各种懒,最后被胡哥下了"不发博客,不许上课!"的最后通牒,只能放弃原来的小心思,安安静静的做技术总结了.....  

①类与对象
    类与对象应该是所有学习面向对象语言的第一课,无奈我当初学C++是竟然把class和struct搞在一起,过了很久在知道他俩根本就不是"好基友"...= =
    类就相当于一个集合,一个总称,比如人、比如桌子,有点想英语中的集体名词,但就像一个大空盒子,里面什么都没有,你要创建对象,把它填满。比如学生类和一个学生对象:
//创建类
public class Student{
//属性
private String name;
//方法
public void study(); 
}
//创建对象   [color=red]关键字是new[/color]
Student stu = new Student();


②构造器和方法的区别
构造器其实就是构造方法,方法呢也是方法,只不过构造器是类的构造函数,而方法就是普通的函数。①中如果在Student中间加上
public Student(String name){
this.name = name;
}


就是构造函数,而且我还把它给重载了(手好欠-_-!),因为他有一个灰常明显的表示就是他和类名相同,而①中study就是一个普通的方法,为什么呢,因为他们是有区别的:
(1)构造器的名称是固定的,要和类同名;而方法就随便起,当然也不能随便到和类名一样
(2)构造器是没有返回值的;而方法是有返回值的,比如void、int、String...
(3)每实例化一个对象呢,构造函数就要被自动调用一次;而方法是你不调用它,他是不会执行的
(4)百度上说呢,和方法一样,构造器可以有任何访问的修饰: public, protected, private或者没有修饰(通常被package 和 friendly调用). 不同于方法的是,构造器不能有以下非访问性质的修饰: abstract, final, native, static, 或者 synchronized。



③重写(overWrite)和重载(overLoad)的区别
  重写呢,就是在存在继承关系的两个类中(或接口和实现),重新改写已有的方法的方法体,其他的不能变,而重载是在同一个类中只留下方法名,其余的随便变,但不一定全部改,在④中会给出代码示例

④类的继承和实现接口
    这是关于类和接口两个东东了,java中有类,有接口,还有两者的中间过渡体--抽象类。
    类的继承,就是简单的创建一个子类,让他继承父类,就像儿子从父亲那里继承财产一样。他可以继承父类的非私有属性和方法,同时呢,也能对父类中的方法在有需要的时候进行重载或者重写。
//创建一个类
public class Monster {
     //怪兽的属性 名称和能力
      public String name;
      String ability;
     //重载怪兽的构造函数
      public Monster(String n,String a){
	name=n;
	ability=a;
      }
	//怪兽的方法 发动攻击
	public int destory(){
		System.out.println("怪兽"+name+"使用技能"+ability+"开始攻击。");
		return 0;
	}
//继承这个类
public class BigMonster extends Monster {
	//子类自己的属性  攻击指数
	int x=0;//初始化为0
	
	//在子类的默认构造方法中默认调用父类的无参数的构造方法
	 public BigMonster(){
		 super();
	 }
	

	
	//在子类中重写父类的函数 destroy
	public int destory(){
		int k=10;//设个参数作为下面函数的参数 用于增加技能指数
		System.out.println("巨型怪兽"+name+"使用指数为"+x+"的技能"+ability+"在进行攻击");
		return k;
		}
	
	
	//子类构造函数的重载
	public BigMonster(String n,String a,int h){
		super(n,a);
		this.x = h;
	}
	
	
	
	
	//子类的方法
	public int grow(int i){
		int m=0;
		m=destory();
		if(m>=0)
			i++;
		else
			i--;
		return i;
		}
	public void showgrow(){
		System.out.println("怪物"+name+"的技能从"+x+"级升级到"+destory());
	}
}


    实现接口就不一样了,他可以让子类继承,但是必须要重写接口中的抽象方法,但是接口中有好多方法的时候怎么办呢,答案就是全部重写!
//创建一个USB接口 关键字 interface
public interface USB {
     //然后它里面的方法都不能有方法体,然后它的方法在实现中都必须要重写
      public void read();
}
//实现这个接口  关键字 implements
public class Mp3 implements USB {
	//必须重写接口的里面的方法
	public void read(){
		System.out.println("This is an mp3 player.");
	}

}


第一篇就先写到这吧,尽管还是没有完成任务
其实这是一篇欠了差不多半年之久的博客。
2012年9月28日加入蓝杰,到2013年3月21日,我依旧在最后一组,比我晚到的周水平在和我一组后,又被尊为大神给我们讲了科赫雪花,心里肯定是不爽的,但是一想到人家有敲代码到凌晨两点的超能力,我还是觉得膜拜算了。
当初也不知道为什么,稀里糊涂的学了软件,加入蓝杰。因为对代码没有赤果果的热爱,没有强大的动力,没有必死的决心,所以作业能拖到最后绝不第一时间昨晚,寒假能早回家一天绝对不会参加集训,但是写完这篇博客,我倒是有了莫名的成就感,尽管这是最基础的知识,尽管可能我还没有200%的掌握
有一天上课,被一个学弟在递归的问题上秒杀了,所以,我觉得是到小宇宙爆发的时候了...
加油↖(^ω^)↗
分享到:
评论

相关推荐

    java类和对象继承多态性

    java类和对象继承多态性 java类和对象继承多态性是java语言中的一种基本机制,它允许开发者创建一个新的类,并继承已有的类的属性和行为。这种机制可以提高代码的复用性和维护性。 继承是java语言中的一种机制,...

    P127~134C++类和对象继承学习笔记.docx

    C++类和对象继承学习笔记 本文档主要讲解C++类和对象继承的基本语法和应用,通过继承技术减少重复代码,实现代码的重用和简洁。 继承是面向对象三大特性之一,用于描述类与类之间的特殊关系。例如,在实现网页中的...

    Java面向对象之继承练习题.doc

    在主类`Test`中,创建子类和父类对象,展示继承和多态的特性。 8. **Animal、Fish和Dog类**:创建一个`Animal`类,定义吃和睡的行为。`Fish`和`Dog`类继承`Animal`,并分别实现它们的特有行为。在主类中创建对象并...

    类和对象、对象和封装、继承、多态、异常等教学...

    本教程针对初学者,详细讲解了类和对象、对象和封装、继承、多态以及异常处理等关键面向对象的知识点。 1. **类和对象**: - **类**:类是Java中的蓝图,它定义了一组具有相同属性和行为的对象。在"第一章 类和...

    js定义类 对象 构造函数,类的继承

    通过分析这个文件,我们可以看到实际应用中的类定义和继承实践,包括如何定义类,如何使用构造函数初始化对象,以及如何通过`extends`关键字实现类的继承和覆盖或扩展父类的方法。 总结一下,JavaScript的类、对象...

    类和对象、继承和派生.zip_编程

    在实际编程中,类和对象的设计需要考虑到封装、继承和多态这三大面向对象原则。封装是隐藏对象的内部实现细节,只对外提供接口进行交互,以保护数据的安全性和一致性。继承则提供了代码复用,避免重复编写相似的代码...

    编写程序,实现图形类的继承,并定义相应类对象并进行测试.txt

    编写程序,实现图形类的继承,并定义相应类对象并进行测试.txt

    JAVA类与对象及数组习题

    下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: 构造方法是类的特殊方法,用于初始化对象的状态。调用构造方法的方式有很多...

    \\java类、抽象类、接口、继承和对象解析 .doc

    Java 类、抽象类、接口和继承是面向对象编程的核心概念,它们构成了 Java 语言的基石。在 Java 中,类是用来封装数据和行为的结构,而对象则是类的实例,具有具体的属性和行为。 1. **类与对象的区别** 类是模板...

    C#创建、销毁对象和继承

    这常用于防止意外的继承和保证类的封装性。 “使用接口”是另一种实现多态的方式。接口定义了一组方法签名,但不提供实现。类可以实现一个或多个接口,必须提供接口中所有方法的实现。例如: ```csharp interface ...

    c#中的面向对象继承

    下面我们将详细讨论“C#中的面向对象继承”。 首先,继承的概念是基于“is-a”的关系,即子类是一种特殊的父类。在C#中,我们使用冒号(:)来表示继承,如`class DerivedClass : BaseClass`。这样,DerivedClass就...

    类、抽象类、接口、继承和对象(java).doc

    在Java编程语言中,类、抽象类、接口和继承是面向对象编程的核心概念。了解它们之间的关系对于理解和编写高效、可扩展的代码至关重要。 首先,类是创建对象的蓝图,它定义了一组属性(变量)和行为(方法)。在Java...

    类与对象-java实验报告

    本次实验的目的是深入理解和掌握Java编程语言中的类与对象的概念,通过设计和实现一系列几何图形类,包括点、直线、三角形、矩形、正方形、圆形和椭圆,来实践面向对象的设计方法。实验要求学生不仅能够创建数据域和...

    c++程序设计讲义 C++的初步认识 类和对象 运算符重载 继承与派生 多态性与虚函数 输入输出流

    4. 继承与派生:继承是面向对象的一个关键特性,它允许一个类(子类或派生类)从另一个类(父类或基类)继承属性和行为。通过继承,子类可以扩展或修改父类的功能,实现代码的复用和类层次结构的建立。 5. 多态性与...

    16-1【SV精通3】类的方法和继承_动态对象_包的使用.zip

    在本教程"16-1【SV精通3】类的方法和继承_动态对象_包的使用"中,我们将深入探讨三个关键概念:类的方法、继承以及包的使用,这些都是Java或类似面向对象语言中的基础但至关重要的知识点。 首先,让我们来看“类的...

    C语言实现对象编程之继承代码.rar

    在这种方法中,子类结构体会包含一个指向父类结构体的指针,这样子类对象就可以访问并调用父类的方法。同时,子类可以增加新的数据成员和方法。这种方法的优点是可以灵活地扩展功能,而不会破坏原有父类的结构。 这...

    chapter09面向对象案例继承和多态——动物猫狗.doc

    在本文中,我们将通过一个动物类的案例来讲解面向对象编程中的继承和多态性。 继承是面向对象编程中的一种机制,通过继承,可以让子类继承父类的属性和行为。在本文中,我们将animal作为父类,而猫、狗、猪作为子类...

    java课程的类和对象、继承、异常和集合知识点老师总结

    在Java课程中,类和对象、继承、异常处理以及集合框架是四个核心概念,下面将对这些知识点进行详细的阐述。 首先,类和对象是Java编程的基础。类可以看作是现实世界中事物的抽象模型,它定义了对象的属性(数据成员...

    类的继承练习

    最后一个示例展示了更复杂的继承结构,包括多级继承和抽象类的概念。定义了一个抽象基类`vehicle`,包含了`wheels`和`weight`两个属性。`car`和`truck`类分别继承自`vehicle`类,并添加了各自特定的属性,如`car`的`...

    类的继承与派生实验

    - 赋值兼容性是指派生类对象可以被赋值给基类对象。为了保证正确赋值,通常需要在基类和派生类中重载赋值运算符(`=`)。不过,这个实验没有涉及具体的赋值兼容实现,但这是C++中一个重要的面向对象特性,需要理解...

Global site tag (gtag.js) - Google Analytics