java学习笔记(三)
来源:互联网 发布:三星官网刷机软件 编辑:程序博客网 时间:2024/06/06 02:25
3.16
四大特征:抽象,封装,继承,多态
抽象:我们在定义一个类的时候,实际上就是把一类事物的共有的属性和行为提取出来,形成一个物理模型(模板)。这种研究问题的方法称为抽象
封装:把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。
封装——访问控制修饰符
public class Demo3{public static void main(String []args){Clerk clerk1=new Clerk("小花",23,2344.5f);System.out.println("名字是:"+clerk1.name);//System.out.println("薪水是:"+clerk1.salary);//错误System.out.println("薪水是:"+clerk1.getSal());}}//职员类class Clerk{public String name;private int age;private float salary;public Clerk(String name,int age,float salary){this.name=name;this.age=age;this.salary=salary;}//通过一个成员方法 去控制和访问私有的属性public float getSal(){return this.salary;}}
java提供四种访问控制修饰符号控制方法和变量的访问权限:
- 公开级别:用public修饰,对外公开
- 受保护级别:用protected修饰,对子类和同一个包中的类公开
- 默认级别:没有修饰符,向同一个包的类公开
- 私有级别:用private修饰,只有类本身可以访问,不对外公开
- 包——必要性
引入一个包的主要目的是使用包
问题的提出:现有两个程序员共同开发一个java项目,程序员小明希望定义一个类取名Dog,程序员小强也想定义一个类也叫Dog,两个程序员为此还吵了起来,怎么办?
包的三大作用:
- 区分相同名字的类
- 当类很多时,可以很好的管理类
- 控制访问范围
- 打包命令
package com.shunping;
- 包命名规范
小写字母 比如 com.sina.shunping
- 常用的包
一个包下,包含很多的类,java中常用的包有:
java.lang.*包 自动引入 java.util.*工具包
java.net.* 网络开发包 java.awt.* 窗口工具包
- 如何引入
语法:import 包;
比如:import java.awt.*;
继承
class 子类 extends 父类
父类的被private修饰符修饰的属性和方法不能被子类继承被继承!
如果你不希望子类继承某个属性或者方法,则将其声明为private
- 继承注意事项
- 子类最多只能继承一个父类(指直接继承)
- java所有的类都是Object类的子类
- JDK6中有202个包3777个类、接口、异常、枚举、注释和错误
- 在做开发的时候,强烈建议多看jdk帮助文档
- google之~~~
- 方法重载
方法重载就是在类的同一种功能的多种实现,到底采用哪种方式,取决于调用者给出的参数。
- 注意事项
- 方法相同
- 方法的参数类型,个数,顺序至少有一项不同
- 如果只是返回类型不一样,不能构成重载
- 如果只是控制访问修饰符不一样,不能构成重载
- 方法返回类型可以不同
- 方法的修饰符可以不同
- 方法覆盖(override)
简单的说:方法覆盖就是子类有一个方法,和父类的某个方法名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的那个方法。
感觉是多态的基础,多态就是覆盖父类的方法。
- 注意事项
- 子类方法的返回类型,参数,方法名称,要和父类的返回类型,参数,方法名称完全一样,否则编译出错。
- 子类方法不能缩小父类方法的访问权限。
- JAVA学习笔记三
- JAVA学习笔记《三》
- Java学习笔记三
- Java学习笔记三
- java学习笔记(三)
- java学习笔记三
- java学习笔记三
- Java学习笔记三
- Java 学习笔记三
- JAVA学习笔记三
- Java学习笔记(三)
- JAVA学习笔记三
- Java学习笔记(三)
- java学习笔记(三)
- java学习笔记(三)
- java-J2SE学习笔记(三)
- Java学习笔记(三)
- Java学习笔记(三)
- Android 启动后台运行程序(Service)
- Ext.Direct之DirectJNgine使用(一)
- c++内置数据类型的取值范围和大小总结
- CATransform3DMakeRotation 旋转,翻转
- (转)检测计算机的 Internet 连接状态(InternetCheckConnection与InternetQueryOption)
- java学习笔记(三)
- Java中属性文件(*.properties)转码为UTF-8
- MS12-020 漏洞利用程序
- 类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内的解决办法。
- DRP项目中的那些业务
- PLSQL select into 为空的时候 语句容易报错的处理方法
- java.sql.SQLException: ORA-28000: 帐户已被锁定
- 栈模板
- /bin/bash^M: bad interpreter: No such file or directory