• AP CS A 知识点整理


    读程序啥的肯定没有任何问题,那就写点语法吧!

    1. 几个专业术语:
    • 类:class(类似于 C++ 中的 namespace,但是也有许多不同点)

    • 包:类的集合(我的理解)

    • 对象(在类中)

      • 属性:相当于变量

      • 方法:相当于函数

    • 接口:下文具体讲

    变量定义:

    int a;
    double a;
    String a;
    int[] a;
    double[] a;
    ...
    

    public/private/protected/default 区别:

    • public: 在任何包和类中均可使用

    • private:被其修饰的类、属性以及方法只能被该类的对象访问(甚至不可以被子代访问)

    • protected:被其修饰的类、属性以及方法只能被类本身的方法及子类访问(不同包里的子类也可以访问)

    • defaulted(什么都不写):只能在同一包下使用

    继承与多态:

    • 继承(extends):

      • java不支持多继承
      • class A extends B: A是B的子类
      • 子类能查看除 private 外所有父类的对象,但父类不能查看任何子类对象
    • 多态:

      • 用super即可(但是貌似不考?)

    接口(interface):

    为了程序规范化而生(看下例子大概就明白了)

    interface Walkable {
    	public void walk();
    }
    
    interface Flyable {
    	public void fly();
    }
    
    interface Swimmable {
    	public void swim();
    }
    
    class Animal {
    	public void breathe() {
    		System.out.println("Animal is breathing");
    	}
    }
    
    class Dog extends Animal implements Walkable {
    	public void walk() {
    		System.out.println("Dog is walking");
    	}
    	
    	public void breathe() {
    		super.breathe();
    		System.out.println("Dog is breathing");
    	}
    }
    
    class Cat extends Animal implements Walkable {
    	public void walk() {
    		System.out.println("Cat is walking");
    	}
    }
    
    class Fish extends Animal implements Swimmable {
    	public void swim() {
    		System.out.println("Fish is swimming");
    	}
    }
    
    class Bird extends Animal implements Walkable, Flyable {
    	public void fly() {
    		System.out.println("Bird is flying!");
    	}
    	
    	public void walk() {
    		System.out.println("Bird is walking!");
    	}
    }
    
    class Test {
    	static void makeAnimalWalk(Animal animal) {
    		if (animal instanceof Walkable) {    //animal 有 Walkable 这个接口
    			((Walkable) animal).walk();
    		} else {
    			System.out.println("Error: FU");
    		}
    	}
    	
    	public static void main(String[] args) {
    		makeAnimalWalk(new Cat());
    		makeAnimalWalk(new Dog());
    		makeAnimalWalk(new Bird());
    		Flyable flyableAnimal = new Bird();
    		flyableAnimal.fly();
    		Animal someFUAnimal = new Dog();
    		someFUAnimal.breathe();
    	}
    }
    
  • 相关阅读:
    17._4Csharp中正则表达式的匹配
    15.13DataGridView单元格自动填充
    C#安装,启动,停止,卸载Windows服务
    C# 如何判断系统是32位还是64位
    [转]Excel关闭进程
    利用.Net中Process类调用netstat命令来判断计算端口的使用情况
    转:C# 获取指定目录下所有文件信息、移动目录、拷贝目录
    做安装包,安装后自动运行程序
    ...
    SharpZIP Lib
  • 原文地址:https://www.cnblogs.com/sunyx20060115/p/16110489.html
Copyright © 2020-2023  润新知