概念:面向对象编程(Object Oriented Programming,OOP)是种计算机编程架构,在考虑问题时以具体的事物对象为单位,考虑它的属性和方法,它可以使人们的编程与实际的世界更加接近,所有的对象被赋予属性和方法,这样变成就更加富有人性化、模拟现实世界中的概念、是一种设计和实现软件系统的思想。
概念:当我们认识到一种新的物体,它叫树,于是在我们的意识当中就形成了树的概念,这个概念会一直存在于我们的思维当中,并不会因为这棵树被砍掉而消失,这个概念就是现实世界当中的物体在我们意识当中的映象,就是一个对象。
图示:下图中,哪些是狗,哪些是狼?
伪代码:狼类.java
狼类{
属性:
眼神 = 凶恶;
尾巴 = 向下;
生活习性 = 群居;
性格 = [责任心重,团结]
方法:
捕猎方法();
嗷嗷叫方法();
}
复制代码
伪代码:犬类.java
犬类{
属性:
眼神 = 二逼;
尾巴 = 向上;
生活习性 = 独居;
性格 = [无责任心,忠诚]
方法:
卖萌方法();
汪汪叫方法();
}
复制代码
| 同类 | 同包 | 不同包父子类 | 不同包无关类 | |
|---|---|---|---|---|
| public | 可访问 | 可访问 | 可访问 | 可访问 |
| protected | 可访问 | 可访问 | 可访问 | |
| 默认(友元) | 可访问 | 可访问 | ||
| private | 可访问 |
概念:之前的学习中,我们一直在使用JDK提供给我们的类,如String、Scanner等,接下来我们要创建一个属于自己的类。
class 为关键字,在一个java文件中可以有多个并列的 class ,但是 public 修饰的 class 只能有一个。 public class A{}
class A{}
final class A{}
static class A{}
abstract class A{}
public class MyClass{
// 类体:类中存放属性和方法
}
class MyClass01{}
class MyClass02{}
复制代码
instance ,这一过程叫做实例化,创建出来的对象被称为该类的实例。 源码:Person.java
/**
* @author JoeZhou
*/
public class Person {
public int id = 1;
String name = "张三";
static int age = 23;
private String gender = "女";
}
复制代码
@Test
public void instance(){
// 变量类型 变量名 = new 构造器();
Person zhaosi = new Person();
System.out.println(zhaosi);
}
@Test
public void changeForNoStaticField(){
Person zhaosi = new Person();
Person liuneng = new Person();
zhaosi.id = 50;
System.out.println(liuneng.id);
}
@Test
public void changeForStaticField(){
Person zhaosi = new Person();
Person liuneng = new Person();
// 静态属性不属于某个实例,而是属于这个模板
Person.age = 50;
System.out.println(Person.age);
}
复制代码
练习:02001-6
package util;
public class BitUtils {
private static void process(byte[] b) {}
}
// 5
package app;
public class SomeApp {
public static void main(String[] args) {
byte[] bytes = new byte[256];
// insert code here
}
}
复制代码
很遗憾的说,推酷将在这个月底关闭。人生海海,几度秋凉,感谢那些有你的时光。
原文 https://juejin.im/post/5f18da605188252e7c21de6f