java面向对象的编程的四大特征
抽象(可去掉)
封装
继承
多态
封装:
把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有通过对授权的操作(成员方法),才能对数据惊醒操作。
访问控制修饰符
public>protected>默认>private
继承
class 子类 extends 父类
子类可以继承父类的public属性、protected属性、public方法 prptected属性
重载
方法重载就是类的同一种功能的多重实现方式,到底采用哪种方法吗,取决于调用者给出的参数。
方法名必须相同
方法参数类型,个数,顺序至少有一个不同
只是方法返回类型不同,不能够构成重载
只是控制访问修饰符不一样,不能够构成重载
public class Test1 {
public static void main (String args[])
{
}
}
class abc
{
public int getmax(int i,int j)
{
if(i>j)
{
return i;
}
else
{
return j;
}
}
public float getmax(float a,float b)
{
if(a>b)
{
return a;
}
方法覆盖
1 子类的方法的返回类型,参数,方法名称要和父类方法的返回类型,参数,方法名称完全一样。
2 子类方法不能缩小父类访问权限
public class CeShi {
public static void main(String[] args) {
// TODO Auto-generated method stub
cat cat1 = new cat();
cat1.cry();
}
}
class Animal
{
int age;
String name;
public void cry(){
System. out.println("动物叫声" );
}
}
class cat extends Animal
{
//方法覆盖
public void cry ()
{
System. out.print("喵喵叫" );
}
}
包
包的三大作用
1区分相同名字的类
2当类很多时,很好的管理类
3控制访问范围
包-打包命令
package com.shunping
包-命名规范
小写字母
包-常用的包
java.lang.* java.util.*
java.net.* java.awt.*
ublic class Test1 {
public static void main (String args[])
{
Clerk c1 = new Clerk("huangyang" ,26);
System. out.println(c1.getage());
}
}
class Clerk
{
public String name;
private int age ;
public Clerk(String name, int age)
{
this.name =name;
this.age =age;
}
//通过一个成员方法去控制和访问私有的属性
public int getage()
{
return this .age ;
}
}