上午:1、static的基本概念和属性:①、static被称为静态,可以用来修饰类的属性或者方法。
②、如果类的某个属性,不管创建多少个对象,属性的存储空间只有唯一的一个,那么这个属性就应该用static修饰,被static修饰的属性被称为静态属性。(静态属性是类的所有对象共享的,即不管创建了多少个对象,静态属性在内存中只有一个。)
2、static的方法:static修饰的方法是绑定的,因此被static修饰的方法称为静态方法;static方法可以使用对象调用,也可以直接用类名调用,建议用类名直接调用。
3、static块
4、final的属性:①定义就必须直接赋值或者在构造方法中进行赋值,并且后期都不能修改;
②final的使用方法:定义必须有实现代码,并且子类里不可被覆盖;
③final可修饰属性、局部变量但值不能改,final不能被继承。
5、变量和常量:①在类中声明的变量或常量叫属性
②在方法中声明的变量叫局部变量
6、继承的概念、特点、作用:①继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用,子类能吸收已有类的数据属性和行为,并能扩展新的能力;
②书写格式 class + 子类名 + extends + 父类名;
③子类对象可以直接调用父类的属性和方法。
7、super的用途:①super语句只能出现在子类构造方法体的第一行;
②对于无参的构造方法,子类构造方法中的super();可写可不写;
③对于有参的构造方法,子类构造方法中的super形式为super(属性值)。
8、this:在一个类的内部,也可以使用this代表自身类的对象(this关键字必须放在非静态方法里面)
9、方法覆盖的定义和原则:①子类可以重写父类中某一个方法,称为方法覆盖;
②原则:⑴同名
⑵同参
⑶同返回值
⑷权限不能缩小
下午的练习
1、属性的初始化值
package com.chainsoft.test2.AM;
public class Test {
static int a ;
static double b ;
static float c ;
static long e ;
static short f;
static boolean g;
static byte h ;
static char i ;
public static void shuju(){
System.out.println("int的默认值为:"+a);
System.out.println("double的默认值为:"+b);
System.out.println("float的默认值为:"+c);
System.out.println("long的默认值为:"+e);
System.out.println("short的默认值为:"+f);
System.out.println("boolean的默认值为:"+g);
System.out.println("byte的默认值为:"+h);
System.out.println("char的默认值为:"+i);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Test.shuju();
}
}
2、画圈圈
package com.chainsoft.test2.AM;
public class Yuanquan {
public Yuanquan(){ //构造方法
System.out.println("以原点为圆心为半径");
}
void farther(int x ,int y ) //方法
{
System.out.println("以原点为圆心"+x+"为半径");
}
class son extends Yuanquan //设置一个子类继承Yuanquan这个父类
{
son()
{
super(); //只能出现在子类构造体方法的第一行
}
}
void son(int x,int y) //在子类中重建一个方法来覆盖父类继承的方法
{
double sum = 6.28 * x;
System.out.println("以原点为圆心"+x+"为半径的圆的周长"+sum);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Yuanquan s = new Yuanquan();
s.farther(3,3); //赋值对象
s.son(3,3);
}
}