`
剑&箫
  • 浏览: 53055 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java基础知识总结

    博客分类:
  • Java
阅读更多
这学期在学校初步接触了Java,感觉对Java挺有兴趣的。于是报名参加了蓝杰实训,在蓝杰的技术老师的辅导下学到了很多有用的东西。现在把在蓝杰学到的Java的一些基础知识和个人感受总结如下(如有不正确的地方欢迎指正):
一、类:一套描述事物共同点的规则,是一个抽象的概念。
二、对象:现实生活当中具体存在的事物或者是脑海中想象的东西,是一个具体的个体。
三、类和对象的关系:对象是类的一个具体描述,比如学生是一个类,而具体的某位同学就是学生这个类的一个对象;电脑是一个类,现在我正用的这台机器是电脑这个类的一个对象等。
四、类的定义:
在java中定义一个类是用关键词class+类名+{},比如class  A{};在class前还可以用关键字public修饰,表明这个类是公有的,公有类只能有一个。在{}中可以定义成员变量(属性)和成员方法。具体形式如下:
public class 类名{
//属性
成员变量1(数据类型 变量名);
成员变量2(数据类型 变量名);

成员方法1;(限定修饰符 返回值类型(无返回值用void) 方法名(形参类型 形参名){方法体})
成员方法2;(限定修饰符 返回值类型(无返回值用void) 方法名(形参类型 形参名){方法体})

}
比如定义一个学生类Student如下:
public class Student{
private String name;
private String number;
private int age;
public void setName(String  n){
    name=n;
}
public void setNumber(String  s){
    number=s;
}
public void setAge(int  t){
    age=t;
}

public void study(){
     System.out.pringln(name+”正在学习!”);
}
}
五、类的作用:
1. 作为模板,可以创建对象
2. 作为数据类型
六、对象的创建:
类名 变量名 =  new 类名();
比如创建Student类的对象如下:
Student st = new Student();
七、对象调用方法
a.方法名(值1,值2);
八、构造方法:构造方法是一种特殊的成员方法,主要体现在以下几个方面:
1. 构造方法必须与类名完全相同,没有返回值。
2. 构造方法的调用是在创建一个对象时使用new进行操作的,其作用是初始化对象。
3. 不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。
4. 构造方法在创建对象时自动执行,一般不能显式地直接调用。
5. 构造方法是可以被重载的。
如果没有为类定义构造方法,系统会自动为该类生成一个默认的构造方法,默认的构造方法的参数列表及方法体均为空,所生成的对象的属性值为零或空,如果定义了构造方法,则将自动屏蔽掉默认的构造方法。构造方法不能被继承。
上面定义的Student类得构造方法的重载如下:
public class Student{
private String name;
private String number;
private int age;
public Student(String  n, String  s, int  t){
   name = n;
   number = s;
   age = t;
}
public Student(String  n, String  s,){
   this(n,s,20);
}
   }
九、方法的重载:
方法重载的条件:
1. 两个或两个以上的方法的方法名相同。
2. 形参个数和类型不同。
在Student类中的学习的方法重载如下:
public class Student{
public void study(){
     System.out.pringln(name+”正在学习!”);
}
Public void study(String  km){
   System.out.pringln(name+”正在学习!”+km);
}

继承:
为什么要继承?
1. 体现对象之间的关系
2. 节省编程时间
   继承使用关键字extends, 继承到的是父类的属性与方法,例如大学生类继承学生类,大学生类继承了学生类的属性和方法,父类:又叫 基类,超类,子类:又叫做扩展类。
例如大学生类UNSudent继承Student类如下:
public class UNStudent extends Student{


//大学生特有的玩的方法
public void play(){
System.out.println("大学生特有的玩的方法");
}
}
十、方法的重写:在子类中定义方法所用的名字、返回类型及参数表和父类中方法使用一样,但方法体不一样。
方法重载与重写的区别:方法重载是在同一个类中进行的,而方法重写是在父类与子类之间进行的。
例如在UNStudent类中重写Student的学习方法如下:
public class UNStudent extends Student{

//大学生特有的玩的方法
public void play(){
System.out.println("大学生特有的玩的方法");
}
//重写从父类继承来的方法]
/**
* 重写:方法的定义一样,方法体不一样
*/
public void study(){
System.out.println("大学生重写的学习方法");
}
}
十一、重写规则:
1. 重写方法的允许访问范围不能小于原方法。
2. 重写方法所抛出的异常不能比原方法多。
如果子类已经重写了父类的方法,但在子类中还想用父类中被隐藏的方法,可以用关键字super,super关键字也可以用于构造方法,如果在子类的构造方法的定义中调用父类的构造方法,则调用语句必须出现在子类构造方法的第一行。
子类重写父类的方法后要注意以下几点:
1.一个对象只能调用在其定义的类型及其父类中声明了的方法
2.如果子类重写了父类的方法,则子类对象会调用重写之后的方法
3.一个对象值调用父类的方法还是子类的方法,只取决于对象本身的类型
多态:由于继承和重写机制,相同类型的对象调用相同的方法,得到的结果可能不一样


重新创建一个Test类如下:(好好体会Java的多态性)
public class Test {
public static void main(String args[]){

//创建一个学生对象
Student stu = new Student();
stu.setName("李四");
stu.study();


//创建大学生对象
UNStudent unt = new UNStudent();
unt.setName("Lisi");
unt.study();


//自动转型:子类对象的类型可以自动转成父类的类型
Student stu1 = new UNStudent();
stu1.setName("WXH");
stu1.study();

//强制转型:将父类类型的对象强制转成子类的类型
UNStudent un = (UNStudent)stu1;
un.play();

}
运行结果如下:
李四正在学习中
大学生重写的学习方法
大学生重写的学习方法
大学生特有的玩的方法
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics