上課代碼:
https://github.com/joychen1579/javaBaseDemos
上課視頻:
鏈接:https://pan.baidu.com/s/1s85SgpNR7I0qiEhi1NffvQ 密碼:ni6d
鏈接:https://pan.baidu.com/s/12TA3n2ikG-CYKKGmP8W5_A 密碼:vl7k
鏈接:https://pan.baidu.com/s/1xALOGC6fvQBPC4BjtOzU0A 密碼:x48m
作業(yè)視頻:
鏈接:https://pan.baidu.com/s/1a_Z_QFId31bxI6J1HpzKog 密碼:mpao
鏈接:https://pan.baidu.com/s/1RHStaHJws2jxcGSBaqRCzw 密碼:a4pc
鏈接:https://pan.baidu.com/s/1JeOFMHRlEQdYVvpIdglQDQ 密碼:cge1
一淘菩、繼承關(guān)鍵字
extends
重點1.
java當(dāng)中繼承是單一性的遵班。也就是說一個類只能繼承一個類。
重點2
如一個類不寫任何繼承類潮改,會默認(rèn)繼承Object
繼承特性
一個類繼承一個父類狭郑,這個類就會擁有父類除了private的其它一切屬性。
二汇在、方法重寫
@Override
重點翰萨。重寫函數(shù)時,方法的范圍重寫只能重低往高寫。
如父類的方法是public 子類不能寫成private 或者 protected
權(quán)限等級從高往底如下:
- public
- protected
- 默認(rèn)級別糕殉,什么都不用寫
- private
三亩鬼、super關(guān)鍵字
調(diào)用父類的函數(shù)
構(gòu)造函數(shù)
public Student(String name, int id) {
super(name, id);
}
一般函數(shù)
四殖告、final 修飾類
修飾類:
public final class MyClass{
public static void main(String [] args){
}
}
此類不可以被繼承
修飾函數(shù):
//說明這個函數(shù)不能被重寫
public final void myfun(){
}
修飾函數(shù)當(dāng)中的參數(shù):
public void fun1(final int num1){
new Thread(new Runnable() {
@Override
public void run() {
Log.e("TAG",""+num1);
}
});
}
作業(yè)1:
跟據(jù)上圖寫創(chuàng)建這些類。并指有繼承關(guān)系
作業(yè)2
找出下面代碼中的錯語
public class Test {
public static void main(String[] args) {
// Pass
System.out.println("Static field 'a' = " + a);
// Pass
foo();
// Error: this is a compilation error.
this.bar();
}
static void foo() {
System.out.println("Static method.");
}
void bar() {
System.out.println("Non static method.");
}
static int a = 10;
}
作業(yè)3
找下面代碼中的錯誤
// Parent.java
public class Parent {
public float aFun(float a, float b) throws IOException {
// ...
}
}
// Child.java
public class Child extends Parent {
// The following method definition will cause compilation error due to
// reducing the visibility of aFun(float, float)
float aFun(float a, float b) { }
}
作業(yè)4
建立一個汽車類,有Auto(是否是自動檔)雳锋,包括輪胎個數(shù)黄绩,汽車顏色,車身重量玷过,速度等成員變量爽丹,并通過不同的構(gòu)造方法創(chuàng)建實例。至少要求 汽車能夠加速 減速 停車冶匹。 再定義一個小汽車類CarAuto 繼承Auto 并添加空調(diào)习劫、CD等成員變量 覆蓋加速 減速的方法 。
作業(yè)5:
找出下面程序錯誤:
public class Test {
public static void main(String[] args) {
// Pass
System.out.println("Static field 'a' = " + a);
// Pass
foo();
// Error: this is a compilation error.
this.bar();
}
static void foo() {
System.out.println("Static method.");
}
void bar() {
System.out.println("Non static method.");
}
static int a = 10;
}
作業(yè):6:
按要求編寫一個Java應(yīng)用程序:
(1)編寫一個矩形類Rect嚼隘,包含:
兩個protected屬性:矩形的寬width;矩形的高h(yuǎn)eight袒餐。
兩個構(gòu)造方法:
1.一個帶有兩個參數(shù)的構(gòu)造方法飞蛹,用于將width和height屬性初化;
2.一個不帶參數(shù)的構(gòu)造方法灸眼,將矩形初始化為寬和高都為10卧檐。
兩個方法:
求矩形面積的方法area()
求矩形周長的方法perimeter()
(2)通過繼承Rect類編寫一個具有確定位置的矩形類PlainRect,其確定位置用
矩形的左上角坐標(biāo)來標(biāo)識焰宣,包含:
添加兩個屬性:矩形左上角坐標(biāo)startX和startY霉囚。
兩個構(gòu)造方法:
帶4個參數(shù)的構(gòu)造方法,用于對startX匕积、startY盈罐、width和height屬性
初始化;
不帶參數(shù)的構(gòu)造方法闪唆,將矩形初始化為左上角坐標(biāo)盅粪、長和寬都為0
的矩形;
添加一個方法:
判斷某個點是否在矩形內(nèi)部的方法isInside(double x,double y)悄蕾。如在矩
形內(nèi)票顾,返回true, 否則,返回false帆调。
提示:點在矩形類是指滿足條件:
x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)
(3)編寫PlainRect類的測試程序
創(chuàng)建一個左上角坐標(biāo)為(10奠骄,10),長為20番刊,寬為10的矩形對象含鳞;
計算并打印輸出矩形的面積和周長;
判斷點(25.5撵枢,13)是否在矩形內(nèi)民晒,并打印輸出相關(guān)信息精居。