1 首先了解什么是类(class)?
class 就是一个镜子,模板,可以用它创建对象。
/**
* 1 类名首字母大写
*/
public class Myclass {
public byte mybyte = 1; //Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0
protected short myShort; //:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0
int myInt;//:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0
private long mylong = 1;//长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L
private float myfloat;//:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0
private double myDouble;//:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0
private char myChar;//字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空
private boolean myboolean; //布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false*/
/*
public:
具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。
protected:
主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西
default:
有时候也称为friendly,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互访问,即使是父类没有用protected修饰的成员也可以。
private:
访问权限仅限于类的内部,是一种封装的体现,例如,大多数成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问*/
public void myMethod() {
System.out.println("我是方法");
}
public Myclass() {
System.out.println("我是构造方法");
}
}
1.1 抽象过程
- 万物皆对象
- 程序是对象的结合
- 某一个特定类型的所有对象都有可以接受同样的消息
-
/** * 这是一只猫 */ public class Cat { //class 是关键字 Cat 是类名,且首字母大写 private String color;//颜色, 基本变量 8大基本类型 private String name; public void eat() {//基本方法 System.out.println(name+"在吃鱼"); } public Cat(String name) {//构造方法组成 this.name = name; } public static void main(String[] args) {//这是一个入口,让程序知道从来里开始运行,就开始大门一样 new Cat("小黑").eat(); //new 的方式可以创建对象 new Cat("小黄").eat(); } //客户端如何服务------对象.方法 }
1.2 每一个对象都有一个接口(==方法)
所有的对象都是独一无二的,但是他们或多或少都拥有相同的特性和行为,那么面对有着相同特性和行为的对象我们该怎么办了?
class这个关键字就是这样来的。代表着一种全新的类型,这个类型是怎么样的由你自己指定
例如:
1.3 每一个对象都提供服务
java 的最最最核心的思想就是 面向对象,那么是何解了?在java的世界中,万物皆对象,人是一个对象,一只猫,一只狗都是一个对象。那就既然是对象,那么就能够提供相应的服务,例如:服务生这个对象能够为客人提供菜单,计算器这个对象能够计算加减乘除。
package demo20190223;
/**
* 服务生的类
*/
public class Waiter {
private String name;//服务生姓名
private int year;//年龄 -------int是范围的,
public void provideMenu() {// 多峰定理,首字母小写,每个单词开头字母大写。
//提供菜单的方法
System.out.println("有小炒肉,蔬菜,鸡汤这三个菜");
}
public static void main(String[] args) {
Waiter waiter = new Waiter();
waiter.provideMenu();
int intA = 2100000000; //21亿
System.out.println(intA);
// int intB=2200000000; //22亿
// System.out.println(intB);
//基本数据类型都是有范围限制的
/*byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0
short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0
int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0
long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L
float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0
double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0
char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空
boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false*/
}
}
1.4 被隐藏的具体实现
一个对象能够做的事情很多,但是并不是对象的所有服务都能够提供出来。
例如:服务生这个对象能够提供菜单给顾客,但是 一个服务生计算今天的收入 这样一个服务就不能够提供给客户了。
1.5 复用的具体实现
什么是复用?复用指的是一段代码能够重复的被使用,代表的是一种高类聚低耦合的具体表现。一旦类被创建并被测试完,那么它应该是一个有用的代码单元能够完成独立的一个动作。
一个类的作用不要太多,要尽可能单一,例如:服务生这个类的作用就是提供菜单。
waiter.provideMenu();这个方法就是复用的一个表现
注意:可以没听懂,但是代码请照着打一次,这样你就慢慢的懂了