Java基礎日記———Javaの三大特性(下)
26153 ワード
.
1. :
(1) 。
(2) 。 , 。
: , 。
。
is a。
class C
{
void demo1(){}
}
class A extends C
{
void demo2(){}
}
class B extends C
{
//void demo1(){}
void demo3(){}
}
: has-a
, .
: contains-a
, ,
Java :java , 。 java 。
:
, 。
java 。 。 。
?
, , 。
, 。
, , ?
,
, 。
: , 。
2.
(1)
,
, this 。
, super。
super this 。
this 。
super 。
(2)
,
, , 。
: ( )
, , , , , , , , , 。
: , , , 。( 。)
: 。
: 。
(3) 。
, ,
super();
super(): 。 super();
?
。 , 。 , 。
, super 。
:super 。
: , 。
super();
, super 。
: this 。
。
3.final
final : 。 。
① , , 。
② final 。 , 。
③ final 。
④ final , , 。
, , , 。 。
, final 。 : , 。
_ 。
⑤ , final 。
4.
, , 。 , , 。
:
① 。
② abstract 。
③ new 。 。
④ , , 。
, 。
。
, , , 。
, , 。 。
。
。 , 。
: , 。
:
abstract , 。
final: final 。 abstract 。
private: , , 。 。
static: static , , 。
。
コードの例:
abstract class Student
{
abstract void study1();
void sleep()
{
System.out.println(" ");
}
}
class ChongCiStudent extends Student // study
{
void study() //
{
System.out.println("chongci study");
}
}
class BaseStudent extends Student // study
{
void study() //
{
System.out.println("base study");
}
}
class AbstractDemo
{
public static void main(String[] args)
{
new BaseStudent s = new BaseStudent();
new ChongCiStudent.study();// ,
}
}
5.
: ,
, 。
class
interface 。
:
。
。
。
。
, 。
。
, :
① : , 。
② 。
:public static final
:public abstract
: public 。
: , 。
, , 。 。
, 。java 。
: , 。 , , , 。 。
interface People{
void peopleList();
}
class Student implements People{
public void peopleList(){
System.out.println("I’m a student.");
}
}
class Teacher implements People{
public void peopleList(){
System.out.println("I’m a teacher.");
}
}
public class Example{
public static void main(String args[]){
People a; //
a=new Student(); // ,
a.peopleList(); //
a=new Teacher(); // ,
a.peopleList(); //
}
}
:I’m a student;I’m a teacher.
:
, , , ,
, , , , , , 。
, , , , ( , Remote ) ( ) 。
:
: 。
:
1, , 。
, 。
2, , , 。 , 。
3, , is a , 。
like a , 。
: , 。
コードの例:
interface Inter
{
public static final int NUM = 3;
public abstract void show();
}
interface InterA
{
public abstract void show();
}
class Demo
{
public void function(){}
}
class Test extends Demo implements Inter,InterA
{
public void show(){}
}
interface A
{
void methodA();
}
interface B //extends A
{
void methodB();
}
interface C extends B,A
{
void methodC();
}
class D implements C
{
public void methodA(){}
public void methodC(){}
public void methodB(){}
}
class InterfaceDemo
{
public static void main(String[] args)
{
Test t = new Test();
System.out.println(t.NUM);
System.out.println(Test.NUM);
System.out.println(Inter.NUM);
}
}
.
1.
(1)
。
。
(2)
。 , 。
: 。
(3)
。
(4) :
, 。
(5)
(6) : !!!
:
(1) , , 。
(2) 。
2.
(1)
, 。
:
。 eat() 。
:Animal a = new Cat();// , 。
a.eat();
Cat c = (Cat) a;// 。 。
c.catchMouse();
(2)
: (= ) 。 , , 。
: 。
: , , 。
, :
, ( )。
, :
, 。
コードの例:
class Fu
{
static int num = 5;
void method1()
{
System.out.println("fu method_1");
}
void method2()
{
System.out.println("fu method_2");
}
static void method4()
{
System.out.println("fu method_4");
}
}
class Zi extends Fu
{
static int num = 8;
void method1()
{
System.out.println("zi method_1");
}
void method3()
{
System.out.println("zi method_3");
}
static void method4()
{
System.out.println("zi method_4");
}
}
class DuoTaiDemo4
{
public static void main(String[] args)
{
/* Fu f = new Zi();
System.out.println(f.num);
Zi z = new Zi();
System.out.println(z.num);
// :5;8
// , ( )。
*/
/*******************************************/
// f.method3();
// , , method3() 。
/*******************************************/
Fu f = new Zi();
f.method4();// :fu.method_4;
Zi z = new Zi();
z.method4();// :zi.method_4
// , :Fu.method4();
/********************************************/
/*
//z , Zi 。
Zi z = new Zi();
z.method1();
z.method2();
z.method3();
*/
}
}
(3)
① : , 。
:
interface PCI
{
public void open();
public void close();
}
class MainBoard
{
public void run()
{
System.out.println("mainboard run ");
}
public void usePCI(PCI p)//PCI p = new NetCard()// 。
。
{
if(p!=null)
{
p.open();
p.close();
}
}
}
class NetCard implements PCI
{
public void open()
{
System.out.println("netcard open");
}
public void close()
{
System.out.println("netcard close");
method();
}
}
class SoundCard implements PCI
{
public void open()
{
System.out.println("SoundCard open");
}
public void close()
{
System.out.println("SoundCard close");
}
}
class DuoTaiDemo5
{
public static void main(String[] args)
{
MainBoard mb = new MainBoard();
mb.run();
mb.usePCI(null);
mb.usePCI(new NetCard());
mb.usePCI(new SoundCard());
}
}
② : 。
: 。
a. :JDBC Hibernate
b. :c create r read u update d delete
c. 。
interface UserInfoDao// 。
{
public void add(User user);
public void delete(User user);
}
class UserInfoByJDBC implements UserInofDao
{
public void add(User user)
{
1,JDBC 。;
2, sql 。;
3, 。
}
public void delete(User user)
{
1,JDBC 。;
2, sql 。;
3, 。
}
}
class UserInfoByHibernate implements UserInfoDao
{
public void add(User user)
{
1,Hibernate 。;
2, sql 。;
3, 。
}
public void delete(User user)
{
1,Hibernate 。;
2, sql 。;
3, 。
}
}
class DBOperate
{
public static void main(String[] args)
{
// , JDBC Hibernate 。
//UserInfoByJDBC ui = new UserInfoByJDBC();
//UserInfoByHibernate ui = new UserInfoByHibernate();
UserInfoDao ui = new UserInfoByHibernate();
ui.add(user);
ui.delete(user);
}
}
(4)Object
Object: , 。
。
Object 。
, 。
, 。 。
API, 。
(5)
:
a. , 。 , , .this
b. , 。
:
a. , , 。
。
:
. = . ;
Outer.Inner in = new Outer().new Inner();
b. , 。
,private: 。
static: static 。
static , static 。 。
, static ?
new Outer.Inner().function();
, static ?
uter.Inner.function();
: , static 。
, static 。
, , 。
。
class Body
{
private class XinZang
{
}
public void show()
{
new XinZang().
}
}
:
a.
b. , 。 。 final 。
c. private 。
コードの例:
class Outer
{
private static int x = 3;
static class Inner//
{
static void function()
{
System.out.println("innner :"+x);
}
}
static class Inner2
{
void show()
{
System.out.println("inner2 show");
}
}
public static void method()
{
//Inner.function();
new Inner2().show();
}
}
class InnerClassDemo
{
public static void main(String[] args)
{
Outer.method();
//Outer.Inner.function();
//new Outer.Inner().function();
// 。
// Outer.Inner in = new Outer().new Inner();
// in.function();
}
}
(6) :
① 。
② :
。
③ : new (){ }
④ 。 。 。
⑤ 3 。
コードの例:
abstract class AbsDemo
{
abstract void show();
}
class Outer
{
int x = 3;
public void function()
{
AbsDemo d = new AbsDemo()
// 。
{
int num = 9;
void show()
{
System.out.println("num==="+num);
}
void abc()
{
System.out.println("haha");
}
};
d.show();
//d.abc();// ;
}
}
class InnerClassDemo4
{
public static void main(String[] args)
{
new Outer().function();
}
}