标签:自定义 初始化 简化 efault 技术 引入 多态 一个 控制
面向对象的三大特征:封装、继承和多态
1、类与对象
对象:描述客观事物的一个实体
类:具有相同属性和方法的一组对象的集合.
对象拥有类的属性和方法,是类的一个实例,就像模具与模具制作的物品之间的关系。
1.1、类的定义:
访问修饰符 class 类名{ }
Java 类名的命名规则:
类名应该以下划线(_)或字母开头,最好以字母开头。
第一个字母大写,如果类名由多个单词组成,则每个单词的首字母最好都大写。
类名不能为 Java 中的关键字,例如 boolean、this、int 等。
类名不能包含任何嵌入的空格或点号以及除了下划线(_)和美元符号($)字符之外的特殊字符。
访问修饰符: public,protected,friendly(或default),private
1. private
用 private 修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用。因此,private 修饰符具有最高的保护级别。例如,设 PhoneCard 是电话卡类,电话卡都有密码,因此该类有一个密码域,可以把该类的密码域声明为私有成员。
2. friendly(默认)
如果一个类没有访问控制符,说明它具有默认的访问控制特性。这种默认的访问控制权规定,该类只能被同一个包中的类访问和引用,而不能被其他包中的类使用,即使其他包中有该类的子类。这种访问特性又称为包访问性(package private)。
同样,类内的成员如果没有访问控制符,也说明它们具有包访问性,或称为友元(friend)。定义在同一个文件夹中的所有类属于一个包,所以前面的程序要把用户自定义的类放在同一个文件夹中(Java 项目默认的包),以便不加修饰符也能运行。
3. protected
用保护访问控制符 protected 修饰的类成员可以被三种类所访问:该类自身、与它在同一个包中的其他类以及在其他包中的该类的子类。使用 protected 修饰符的主要作用,是允许其他包中它的子类来访问父类的特定属性和方法,否则可以使用默认访问控制符。
4. public
当一个类被声明为 public 时,它就具有了被其他包中的类访问的可能性,只要包中的其他类在程序中使用 import 语句引入 public 类,就可以访问和引用这个类。
类中被设定为 public 的方法是这个类对外的接口部分,避免了程序的其他部分直接去操作类内的数据,实际就是数据封装思想的体现。每个 Java 程序的主类都必须是 public 类,也是基于相同的原因。
1.2属性:对象拥有的特征
访问修饰符 数据类型 属性名;
属性名:一般是满足小驼峰命名,也就是第一个单词子母小写,后面单词的第一个首字符均大写
数据类型:主要分为基本数据类型和引用数据类型,也就是八大基本数据类型和引用数据类型中的类,数组和接口;
常用的: boolean, byte,short,int,long,char,float,double 和String
初始化的默认值如下:
整数型(byte、short、int 和 long)的基本类型变量的默认值为 0。
单精度浮点型(float)的基本类型变量的默认值为 0.0f。
双精度浮点型(double)的基本类型变量的默认值为 0.0d。
字符型(char)的基本类型变量的默认值为 “\u0000”。
布尔型的基本类型变量的默认值为 false。
数组引用类型的变量的默认值为 null。如果创建了数组变量的实例,但没有显式地为每个元素赋值,则数组中的元素初始化值采用数组数据类型对应的默认值。
注意:成员变量可以不用赋值,局部变量必须要赋值
public、protected、private:用于表示成员变量的访问权限。
static:表示该成员变量为类变量,也称为静态变量。
final:表示将该成员变量声明为常量,其值无法更改。
1.3方法
方法:对象执行操作的行为
可以分为有返回值得方法和无返回值得方法,有无返回值中又分为有无参数,
大概四个类型:
无返回值无参数的方法:
访问修饰符 void 方法名 () { ... }
无返回值有参数的方法:
访问修饰符 void 方法名 (参数类型 参数名1,参数类型 参数名2......) { ... }
有返回值无参数的方法:
访问修饰符 返回类型 方法名 () { ... return 返回具体数据; }
有返回值有参数的方法:
方法名:一般是满足小驼峰命名,也就是第一个单词子母小写,后面单词的第一个首字符均大写
return : 返回具体数据并退出该方法;
形参与实参:
创建方法时定义的参数表示形参
调用方法时定义的参数表示实参
1.4创建对象
类名 对象名 = new 类名();
例子:
Dog erha = new Dog(); 解释: new 关键字 左边的类名 为 对象的数据类型 右边的类名() 为 类的构造方法
引用对象的属性和方法
//引用对象的属性 对象名.属性名 //引用对象的方法 对象名.方法名
重点注意:
a.方法重载:
定义:在同一个类中,方法名相同,参数的个数或类型不同,方法的返回值不能作为判断方法之间是否构成重载的依据
优点: 对原有的方法的一种升级,可以根据参数的不同,采用不同的实现方法,不需要编写多个名称简化了代码,也就是原来的方法只能做一件事,使用了方法重载后就可以通过传参数来做更多的事。
b.成员变量与局部变量
定义:
成员变量:直接在类中定义的变量,定义在方法的外部,
局部变量:在方法中定义的变量,
区别:
标签:自定义 初始化 简化 efault 技术 引入 多态 一个 控制
原文地址:https://www.cnblogs.com/obge/p/12307552.html