Java六~七章复习总结

2.1介绍类与对象
2.1.1世间万物皆对象
Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。对象有以下特点:

对象具有属性和行为。
对象具有变化的状态。
对象具有唯一性。
对象都是某个类别的实例。
 一切皆为对象,真实世界中的所有事物都可以视为对象。

 2.1.2类是对象的模板
例如,在真实世界的学校里,会有学生和老师等实体,学生有学号、姓名、所在班级等属性(数据),学生还有学习、提问、吃饭和走路等操作。学生只是抽象的描述,这个抽象的描述称为“类”。在学校里活动的是学生个体,即张同学、李同学等,这些具体的个体称为“对象”,“对象”也称为“实例”。


2.1.3类的特征与行为

2.1.4类和对象的关系
在面向对象中,类和对象是最基本、最重要的组成单元。类实际上是表示一个客观世界某类群体的一些基本特征抽象。对象就是表示一个个具体的东西。所以说类是对象的抽象,对象是类的具体。

让我们来看看人类所具有的一些特征,这些特征包括属性(一些参数、数值)以及方法(一些行为,他能干什么)。

每个人都有身高、体重、年龄、血型等属性,人会劳动、会直立行走、会用自己的头脑去创造工具等方法。人之所以能区别于其他类型的动物,是因为每个人都具有“人”这个群体的属性与方法。
2.1.5面向对象的编程

2.1.6java创建类的用法

public class Student {
    // 学生类
}

2-2 创建类与对象

package hwd;
import java.util.Scanner;
 
public class JavaWork {//创建类
	
	public static void main(String[] args) {//主方法
		
		JavaWork duoduo = new JavaWork();
		JavaWork lucky = new JavaWork();
		
	}
 
}
 
 
 

2-3 成员变量

成员变量就是隶属于对象的变量

成员变量用于保存对象的静态特征

同类型的不同对象拥有相同的成员变量,但值彼此独立

package hwd;
import java.util.Scanner;
 
public class JavaWork {//创建类
	
	String name;
	int age;
	float weight;
	
	public static void main(String[] args) {//主方法
		
		JavaWork duoduo = new JavaWork();
		duoduo.name = "多多";
		duoduo.age = 6;
		duoduo.weight = 13.5f;
		
		JavaWork lucky = new JavaWork();
		lucky.name = "Lucky";
		lucky.age = 3;
		lucky.weight = 10.2f;
		System.out.println(duoduo.name + "今天" + duoduo.age + "岁了");
		System.out.println(lucky.name + "体重" + duoduo.weight + "千克");
	}
 
}
 
 
 
多多今天6岁了
Lucky体重13.5千克

2-4 方法的作用

什么是方法

方法是用于完成特定功能的整段代码

package hwd;
import java.util.*;
import java.text.*;
import java.sql.*;
import java.sql.Date;
 
 
class Dome{//创建类
	
	public String isOddNumber(int num){
		System.out.println("原始数字为:" + num);
		if(num % 2 == 0){
			return "偶数";
		}else{
			return "奇数";
		}
	}
	
 public static void main(String[]args){//主方法
	 
	/* int a = 10;
	 if(a % 2 == 0){
		 System.out.println(a + "是偶数");
	 }else{
		 System.out.println(a + "是奇数");
	 }
	 
	 int b = 5;
	 if(b % 2 == 0){
		 System.out.println(b + "是偶数");
	 }else{
		 System.out.println(b + "是奇数");
	 }
	 */
	 
	 int a = 10;
	 Dome dome = new Dome();
	 String r1 = dome.isOddNumber(a);
	 System.out.println(a + "是" + r1);
	 int b = 5;
	String r2 = dome.isOddNumber(b);
	System.out.println(b + "是" + r2);
 	}
}
原始数字为:10
10是偶数
原始数字为:5
5是奇数

第3章 面向对象特征之封装

3-1 包-Package

把功能相似或相关的类组织在同一个包中

包也采用了树形目录的储存方式

通过包也可以限定类的访问权限

包的命名规范

包采用“逆域名法”进行命名,用“.”分割,单词全部小写

标准格式:域名后缀.组织机构名.项目[.模块名].包的职能

3-2 访问修饰符

访问修饰符用于控制类、成员变量、方法的访问范围
 

package hwd;
import java.util.*;
import java.text.*;
import java.sql.*;
import java.sql.Date;
 
 
class Dome{//创建类
	
	public String name;
	
	private void sayHello(){
	System.out.println("Hello world!");
	}
	
	void sayGoodbye(){
		System.out.println("Good bye!");
	}
	
 public static void main(String[]args){//主方法
 
	 Dome dome = new Dome();
	 dome.sayHello();
	 
	 
	 
 	}
}
package hwd;
import java.util.Scanner;
 
public class JavaWork {//创建类
	
	
	
	public static void main(String[] args) {//主方法
		
		Dome dome  = new Dome();
		dome.name = "Lily";
		
		
	}
 
}
 
 
 Hello world!

3-3 面向对象特征之封装

面向对象三大特征

封装

继承

多态

封装

封装即隐藏功能的实现细节

利用对象与方法是实现封装的直接途径

良好的封装让代码更容易阅读与维护

3-4 对成员变量进行读写封装

package hwd;
import java.util.*;
import java.text.*;
import java.sql.*;
import java.sql.Date;
 
 
class Dome{//创建类
	
	public String owner;
	public String areaCode = "86";
	private long moblieNumber;
	
	
	public String getOwner(){
		return this.owner;
	}
	
	
	
	public void setOwner(String owner){
		this.owner = owner;
	}
	
	
	public String getAreaCode(){
		return this.areaCode;
	}
	
	
 public static void main(String[]args){//主方法
 
 
	 
	 
	 
	 
 	}
}
package hwd;
import java.util.Scanner;
 
public class JavaWork {//创建类
	
	
	
	public static void main(String[] args) {//主方法
		
		Dome dome = new Dome();
		//dome.owner = "老齐";
		//dome.areaCode = "84";
		dome.setOwner("老齐");
		String owner = dome.getOwner();
		System.out.println(owner);
		String areaCode = dome.getAreaCode();
		System.out.println(areaCode);
		
	}
 
}
 
 

老齐
86

第4章 面向对象特性之继承和多态

4-1 面向对象特性之继承

package hwd;
 
public class Mark1 {
 
	protected String title;
	protected String color;
	protected String movie;
	
	public void description(){
		System.out.println("型号" + title);
		System.out.println("颜色" + color);
		System.out.println("首次出现电影" + movie);
		
	}
	
	private void fire(){
		System.out.println("利用手臂燃料泵射出火焰");
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		
		Mark1 mark1 = new Mark1();
		mark1.color = "银灰色";
		mark1.movie = "钢铁侠1";
		mark1.title = "马克1型";
		mark1.description();
		mark1.fire();
		
	}
 
}


型号马克1型
颜色银灰色
首次出现电影钢铁侠1
利用手臂燃料泵射出火焰
package hwd;
 
public class Hulk extends Mark1{
 
	private void repair(){
		System.out.println("弹射备件替换战损组件");
	}
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		Hulk hulk = new Hulk();
		hulk.color = "反浩克装甲";
		hulk.title = "红色";
		hulk.movie = "复仇者联盟3";
		hulk.description();
		
		hulk.repair();
		
	}
 
}


型号马克1型
颜色银灰色
首次出现电影钢铁侠1
利用手臂燃料泵射出火焰
package hwd;
 
public class Mark85 extends Mark1{
 
	private void createShield(){
		System.out.println("利用纳米技术生成防御护盾");
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Mark85 mark85 = new Mark85();
		mark85.color = "马克85型";
		mark85.movie = "红色";
		mark85.title = "复仇者联盟4";
		mark85.description();
		mark85.createShield();
		
		
 
	}
 
}



型号复仇者联盟4
颜色马克85型
首次出现电影红色
利用纳米技术生成防御护盾

 4-2面向对象特性之多态

多态

多态是同一个行为具有多个不同表现形式或形态的能力

实现多态的关键是接口

接口时一个抽象的类型,只提供方法的定义

实现类是一个接口的具体实现,要实现每一个接口方法的功能

package hwd;
 
public interface Language {
 
	public void voice();
	
}
package hwd;
 
public class French implements Language{
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
	}
 
	@Override
	public void voice() {
		// TODO Auto-generated method stub
		
		System.out.println("Comment puis-je me rendre a lh pital");
		
	}
 
}
package hwd;
 
public class English implements Language{
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
	}
 
	@Override
	public void voice() {
		// TODO Auto-generated method stub
		System.out.println("Hi,may I help you");
		
		
	}
 
}
package hwd;
 
public class Chinese implements Language{
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
	}
 
	@Override
	public void voice() {
		// TODO Auto-generated method stub
		
		System.out.println("你好,有什么可以帮到您的");
		
	}
 
}
package hwd;
 
public class CustomerService {
 
	
	public Language contact(int areaCode){
		if (areaCode == 86){
			return new Chinese();
		}else if (areaCode == 33){
			return new French();
		}else{
			return new English();
		}
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Language language = new English();
		language.voice();
		Language language1 = new Chinese();
		language1.voice();
		CustomerService cs = new CustomerService();
		Language language2 = cs.contact(86);
		language2.voice();
		
	}
 
}
package hwd;
 
public class Customer {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		CustomerService customerService = new CustomerService();
		Language language = customerService.contact(33);
		language.voice();
		
	}
 
}

Comment puis-je me rendre a lh pital

4-3 ArrayList列表类的使用

ArrayList是Java内置的数据集合,用于存储多个数据

ArrayList是数组替代品,提供了更多的数据操作方法

ArrayList几乎是每一个项目比用的类

package hwd;
 
import java.util.*;
 
public class ArrayListSample {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		List<String> bookList = new ArrayList<String>();
		bookList.add("红楼梦");
		bookList.add("西游记");
		bookList.add("水浒传");
		bookList.add("三国志");
		bookList.add(0,"镜花缘");
		System.out.println(bookList);
		String bookName = bookList.get(2);
		System.out.println(bookName);
		int size = bookList.size();
		System.out.println(size);
		bookList.remove(2);
		System.out.println(bookList);
		bookList.remove(bookList.size() - 1);
		System.out.println(bookList);
		for (String book : bookList){
			System.out.println("《" + book + "》");
		}
		
	}
 
}



[镜花缘, 红楼梦, 西游记, 水浒传, 三国志]
西游记
5
[镜花缘, 红楼梦, 水浒传, 三国志]
[镜花缘, 红楼梦, 水浒传]
《镜花缘》
《红楼梦》
《水浒传》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值