六七章 复习(二)

本文介绍了面向对象编程的基础知识,包括类与对象的创建、成员变量与方法的作用、封装特性(包与访问修饰符)、继承与多态实例。通过实例演示了如何创建Dog类,实现属性操作和行为区分,以及类之间的继承关系和多态应用。
摘要由CSDN通过智能技术生成

1、面向对象的基础认知

介绍类与对象

 

 

 

IDEA创建类与对象

public class Dog {
    public static void main(String[] args) {
       Dog doudou = new Dog();
       Dog lucky = new Dog();
   }
 }

成员变量

 

public class Dog
  String name;
  int age;
  float weight;
public static void main(Stringll args) {
 Dog duoduo=new Dog();
 duoduo.name="多多";
 duoduo.age=6;
 duoduo.weight =13.5f;
 Dog lucky=new Dog();
 lucky.name="Lucky";
 lucky.age = 3;
  lucky.weiqht =10.2f;
System.out.println(duoduo.name+"今天"+duoduo.age+"岁了");
System.out.println(lucky.name + "体重"+ duoduo.weight+"千克");
}
   }

方法的作用

public class MethodSample01 {
public String isOddNumber(int num){
    if(num % 2 == 0) {
       return "偶数";
}else{
       return "奇数";
  }
}

public static void main(String[l 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 +"是奇数");
   }
 }
}
public class MethodSample01 {
public String isOddNumber(int num){
  System.out.println("原始数字为:" + num);
    if(num % 2 == 0) {
       return "偶数";
}else{
       return "奇数";
  }
}

public static void main(String[l args){
  int a = 10;
  MethodSample01 methodSample01 = newMethodSample01();
  String r1=methodSample01.isOddNumber(a); 
  System.out.println(a + "是" + r1);
  int b = 5;
  String r2=methodSample01.isOddNumber(b);
  System.out.println(b + "是" + r2);
  }
}

2、面向对象特性之封装

包-package

package com.imooc.objectproject.samplel;
importcom.imooc.objectproject.sample2.PackageSample02;
public class PackageSample03{ 

public static void main(String[] args){
//同一个包下的类无需import导入
PackageSample01 packageSample01=new PackageSample01();
PackaqeSample02 packageSample02 = new PackaqeSample02();
   }
}
//package关键字用于说明当前类归属于哪个包 
//package后面的包名与实际存储的目录要保持一致
package com.imooc.obiectproject.sample1;
 
public class PackageSample01
}

package com.imooc.objectproject.sample2
//import关键字用于导入其他包的类
importcom.imooc.objectproject.sample1.PackageSample01;
public class PackageSample02{
public static void main(String[] arqs){
/要使用其他包下的类必须事先import导入
PackaqeSample01 packaqeSample01=new PackaqeSample01();
   }
}

访问修饰符


/.../
package com.imooc.objectproject.samplel;
public class PackageSample01{
//public代表其他任何类都能访问的成员变量 
public String name;
//private代表只能在当前类中使用 
private void sayhello(){
   System.out.println("Hello world!");
}
//不写访问修饰符代表是默认修饰符,表示只能被包中其他类访问 
void sayGoodbye(){
   System.out.println("Good bye!");

}
  }
    

 

package com.imooc.objectproject.samplel; 

importcom.imooc.obiectproject.sample2.PackageSample02;

public class PackageSample03{ 
  public static void main(String[] args){
   //同一个包下的类无需import导入
PackaqeSample01 packageSample01 = new PackageSample01();
   //IDEA在书写时会自动产生import语句
PackageSample02 packageSample02 = new PackageSample02();

packageSample01.name="Lily";
packageSample01.sayGoodbye();

 

 

面向对象特性之封装

 

 

对成员变量进行读写封装

package com.imooc.objectprojectsample3;
//张三开发的排序算法类
public class Algorithm {
/**
*传入五个数,控制台打印升序结果
*@parama 第一个数
*@paramb第二个数
*@paramc 第三个数
*@param d 第四个数
*@parame 五个数
*/
public void sort(int a,int b,int c,int d,int e){
  //冒泡排序算法
 int[] arr={a,b,c,d,e};
 for(int i = 0; i < arr.length-1; i++){
 for(int j = 0; j < arr.length-1-i; j++){
 if(arr[j]>arr[j+1]){
 int temp = arr[j];
  arr[j]=arr[j+1];  
  arr[j+1]=temp; 
  }
 }
}
for(int i = 0; i<arr.length ;i++){
System.out.print(arr[i] + " ");
  }
}
public static void main(String[] args){
Algorithm algorithm =new Algorithm();
algorithm.sort(a:82,b:88,c:998,d:223,e184); 
 }
}

packagecom.imooc.objectprojectsample3; 

public class Sorter {
   public static void main(String[] args) {
Algorithm algorithm = new Algorithm();
algorithm.sort(a:77,b:91,c:37,d:66,e:102);
  }
}

 

package com.imooc.objectproject.sample3;  
 
public class MobileNumber {
//成员变量私有化
private String owner; //所有者
private String areaCode ="86";//国家区号 
private long mobileNumber;//手机号
//getter方法,qetter方法用于读取成员变量的内容
//getter书写格式:public成员变量类型get成员变量名(),PS:首字母大写

public String getowner(){
  //this关键字代表当前对象的... 
    return this.owner;
 }
  //setter方法,setter方法用于设置成员变量的内容 
  //setter书写格式:public void set成员变量名(新的数据参数)
  public void setOwner(String owner) {
   this.owner=owner;
}
  public string getAreaCode(){ 
  return this.areaCode;
}

public long getMobileNumber() {
   return mobileNumber;
}
public void setMobileNomber(long mobileNumber){
  this.mobileNumber=mobileNumber;
  }
}
public class MobileNumberTestor{
public static void main(String[] args){
  MobileNumber mobileNumber= new MobileNumber();
  // mobileNumber.owner-"老齐"
  // mobileNumber.areaCode="84"; 
mobileNumber.setowner("老齐");
String owner = mobileNumber.getowner();
System.out.println(owner); 
  String areaCode=mobileNumber.getowner();
System.out.println(areaCode);
mobileNumber.setMobileNumber(133888888881);
   }
}

 

 

3、面向对象特性之继承和多态

面向对象特性之继承

 

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) {
 
   Mark1 mark1 = new Mark1();
 
    mark1.color = "银灰色";
 
mark1.movie = "钢铁侠1";
 
mark1.description();
 
mark1.fire;
 
}
 
}

 

/jextends关键字用于类的继承
//extends关键字后面是"父类"extends关键字前是"子类"
e//子类会继承父类的(default)/protected/public修饰的成员变量与方法
   public class Hulk extends Markl {
     public static void main(string[] args){
       Hulk hulk=new Hulk(); 
       hulk.title="反浩克装甲";
        hulk.color="红色";
        hulk.movie="复仇者联盟3";
        hulk.description();
 }
}

 

//extends关键字用于类的继承 
 //extends关键字后面是"父类"extends关键字前是"子类" 
//子类会继承父类的(default)/protected/public修饰的成员变量与方法
   public class Hulk extends Markl { 
   private void repair(){ 
System.out.println("弹射备件替换战损组件");
 
public static void main(string[] args){
Hulk hulk=new Hulk();
hulk.title="反浩克装甲"; I 
hulk.color="红色";
hulk.movie="复仇者联盟3";
 hulk.description((); 
 
// hulk.fire(); 
 
hulk.repair();
 
  }
}

 

public class Mark85 extends Markl{
private void createShield(){
System.out.println("利用纳米技术生成防御护盾");
}
public static void main(String[] args){
Mark85 mark85=newMark85(); 
mark85.title="马克85型";
 mark85.color="红色";
mark85.movie-"复仇者联盟4"; 
mark85.description();
 mark85.createShield();
}

 

  面向对象特性之多态

 

 

 

 

public class Chinese implements Language{
@Override
public void voice() {
System.out.println("你好,有什么可以帮到您的?");
}
}
public class English implements Languagel
@Override
public void voice() {
System.out.println("Hi,may I help you?");
 }
}
 public class French implements Language{ verride{
public void voice() {
System.out.println("Comment puis-je me rendre à l'h pital ?");
 }
}
public class CustomerService {
public static void main(String[] args){
Language language=new English();
 language.voice();
  }
}

public class CustomerService {
public Language contact (int areaCode){
   if(areaCode==86){
  return new Chinese();
}else if(areaCode33){
  return new French();
}else{
  return new English();
 
public static void main(String[] args){
Language language=new English();
 language.voice();
Language languagel=new Chinese();
languagel.voice();  
CustomerServicecs=new CustomerService; 
Language language2=cs.contact(areaCode:86); 
language2.voice();

 }
}

 

import com.imooc.objectproject.sample5.system.CustomerService; importcom.imooc.objectprojectsample5.system.Language;
public class Customer {
public static void main(string[] args){
CustomerService customerService=new CustomerService(()
Language lanauaae =customerService.contact(areaCode:33);
language.voice();
 }
}

ArrayList列表类的使用

 

import java.util.ArrayList;
 import java.util.list;
public class ArrayListSample{
public static void main(String[] args){
List bookList=new ArrayList();
 }
}

import java.util.ArrayList;
 import java.util.list;
public class ArrayListSample{
public static void main(String[] args){
List bookList=new ArrayList(); 
bookList.add("红楼梦"); 
bookList.add("西游记"); 
bookList.add("水浒传"); 
bookList.add("三国志");
System.outprintln(bookList);
 }
}

import java.util.ArrayList;
 import java.util.list;
public class ArrayListSample{
public static void main(String[] args){
List bookList=new ArrayList(); 
bookList.add("红楼梦"); 
bookList.add("西游记"); 
bookList.add("水浒传"); 
bookList.add("三国志");
System.outprintln(bookList);
 
bookList.add(index:0,element:"镜花缘");
 
System.out.println(bookList);
 }
}

 

public static void main(String[] args){
//泛型
List<string> bookList=newArraList<string>();
 bookList.add("红楼梦");
 bookList.add("西游记"); 
bookList.add("水浒传");
 bookList.add("三国志");
bookList.add(index:0,element"镜花缘");
System.out.println(bookList); 
String bookName = bookList.get(2);
System.out.println(bookName);
}

 

int size = bookList.size( );

System.out.println(size);

 

bookList.remove(index:2);

System.out.println(bookList)

bookList.remove(index:bookList.size() - 1);

System.out.println(bookList)

 

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值