static

Java基础(四)面向对象三

眉间皱痕 提交于 2020-02-01 03:13:16
抽象类 abstract --没有具体的内容 1用 abstract 关键字来修饰一个类时,这个类叫做抽象类; 2用 abstract 来修饰一个方法时,该方法叫做抽象方法。 Ø 抽象方法:只有方法的声明,没有方法的实现。以分号结束: abstract int abstractMethod ( int a ) ; 3含有抽象方法的类必须被声明为抽象类。 4抽象类不能被实例化。抽象类是用来作为父类被继承的,抽象类的子类必须重写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类。 5不能用 abstract 修饰属性、私有方法、构造器、静态方法、 final 的方法。 模板设计模式 接口 :实现多重继承 l 有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是, Java 不支持多重继承。有了接口,就可以得到多重继承的效果。 l 接口 (interface) 是抽象方法和常量值的定义的集合。 l 从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。 l 实现接口类: Ø class SubClass implements InterfaceA { } l 一个类可以实现多个接口,接口也可以继承其它接口。 l 接口的特点: Ø 用 interface 来定义。 Ø 接口中的所有成员变量都默认是由 public

static关键字详解

南笙酒味 提交于 2020-02-01 02:58:02
首先,要了解一下这些东西的存放位置 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 栈区: 1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中 2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。 3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。 方法区: 1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。 2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。 还有补充的一点,有这样一个步骤: 加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载 一、静态内部类 为什么只有静态内部类而没有静态外部类? 答:因为Jvm的类加载器在加载类时,会判断是否有静态变量,静态方法,和静态内部类,如果存在,则将其加载到方法区(方法区中所有东西都只有一个,即不会重复),静态内部类的作用是可以在外部不需要实例化,而通过类名.内部类名直接调用,而外部静态类是没有必要的,因为static的作用时间是类加载时才被加载,而此时外部类已经在被加载

java static关键字

烈酒焚心 提交于 2020-02-01 02:30:57
static 静态的可以修饰属性、方法、代码块 static修饰属性(类变量) 1.由类创建的所有对象,都共享这个属性 2.如果其中一个对象对属性值发生改变会导致其他对象属性值跟着改变 3.类变量随着类的加载而加载独一份 4.静态变量可以直接通过"类名.类变量"的方式调用 5.类变量存在静态域中,不存在堆中,存在堆中的都是实例变量 6.类变量的加载要早于对象 static修饰方法() 1.随着类的加载而加载 2.可以通过"类名.方法名"的方式调用 3.内部可以调用静态方法或者静态属性,不能调用(注意是调用静态方法外的)非静态方法非静态变量,非静态方法可以 调用静态方法和静态变量 注意:静态方法不能使用this或super关键字 static可以修饰代码块 只要在静态代码块里面定义的变量都是静态变量 来源: CSDN 作者: jzbx 链接: https://blog.csdn.net/qq_41787492/article/details/103983421

uWSGI配置启动Django

纵饮孤独 提交于 2020-01-31 23:01:17
1. 不使用ini配置文件,直接命令行启动 首先进入网站的根目录,这里假设我的项目是在/home/mysite //进入根目录 cd /home/mysite //启动web服务,qpp为一个目录,wsgi.py文件放在里面。 /python37/bin/uwsgi --http :8000 --file app/wsgi.py --static-map = /static = static 2.使用ini配置文件启动uWSGI 写一个ini配置文件,名称自定义,我这定义一个wsgi.ini的配置文件,此文件放在项目的根目录下(在我的项目中放在/home/mysite目录下),即跟manage.py放一个目录下。 //配置好了进入web根目录启动 ./python37/bin/uwsgi --ini ./uwsgi.ini uwsig内容如何: [ uwsgi ] http = 0.0.0.0:8000 socket = app.sock master = true #我的项目DjangoLi放在此目录下 chdir = /home/cc/ #DjangoLi是我的项目目录名 wsgi-file = DjangoLi/wsgi.py # maximum number of worker processes processes = 4 threads = 2 # Django's

Java-POJ1013-Counterfeit Dollar

坚强是说给别人听的谎言 提交于 2020-01-31 14:37:27
在13枚硬币中找出fake的那一个 输入:三次天平称量结果 1 package poj.ProblemSet; 2 3 import java.util.Scanner; 4 5 /* 6 我怎么觉得是贪心算法呢? 7 起初对所有硬币标记0; 8 如果是even,则两边所有的硬币记为真(记233); 9 否则就对不确定的硬币记录怀疑(++或者--根据天平倾斜方向); 10 最后只要看哪个硬币的绝对值最大,也就是被怀疑的次数最多,即是假币。 11 */ 12 public class poj1013 { 13 public static int[] value = new int[20]; 14 public static String[] a = new String[5]; 15 public static String[] b = new String[5]; 16 public static String[] c = new String[5]; 17 public static final int REAL = 233; 18 19 public static void work(int r, int len, int type) { 20 if (type == 1) { 21 for (int i = 0; i < len; i++) { 22 if (value[a

static关键字

孤街浪徒 提交于 2020-01-31 11:25:47
一、static概念 当在定义类的时候,类中都会有相应的属性和方法。而属性和方法都是通过创建本类对象调用的。当在调用对象的某个方法时,这个方法没有访问到对象的特有数据时,方法创建这个对象有些多余。可是不创建对象,方法又调用不了,这时就会想,那么我们能不能不创建对象,就可以调用方法呢? 可以的,我们可以通过static关键字来实现。static它是静态修饰符,一般用来修饰类中的成员。 二、static特点 1、被static修饰的成员变量属于类,不属于这个类的某个对象。( 也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象共享同一个static成员变量 ) 代码演示: class Demo { public static int num = 100; } class Test { public static void main(String[] args ) { Demo d1 = new Demo(); Demo d2 = new Demo(); d1 . num = 200; System. out .println( d1 . num ); // 结果为 200 System. out .println( d2 . num ); // 结果为 200 } } 2

UDP发送组播消息

此生再无相见时 提交于 2020-01-31 10:52:10
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; namespace Asr.App.O2o.Client.UdpMulticast { public class UdpMulticast { private static IPAddress mcastAddress; private static int mcastPort; private static Socket mcastSocket; private static MulticastOption mcastOption; public static void Start() { //组播地址和端口 mcastAddress = IPAddress.Parse("224.0.0.1"); mcastPort = 6005; //组播套接字,绑定本地地址(组播端口) mcastSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint localEP = new IPEndPoint

匿名函数和扩展函数

做~自己de王妃 提交于 2020-01-31 09:01:06
注:以下文章仅为学习笔记,很大部分来自于他人博客或资料,我会相应注明,仅为学习。 一、匿名函数   一下大部分来源于: http://blog.csdn.net/xiongwjw/article/details/7248630   该笔记(匿名函数)没有详细例子,实例详见源博客   匿名函数与委托有着密切的关系。    1、为什么要用匿名方法,什么时候用?      当用常规的委托调用方法时使代码很混乱或者不简洁的时候,可以使用匿名方法( 内联代码块定义 )。什么意思呢,我们用委托调用方法时,是根据方法名调用的,当需要待用的方法很多时,我们创建很多的方法,但是很多方法又不常用,现在我们可以用匿名方法代替。     例如,我直接用我上篇博客“委托”中的例子(根据学生的属性排序)来讲,我们可以将委托实现的调用改为如下匿名方法的调用: //匿名方法实现 Sort(s, delegate(Student s1, Student s2)//根据id排序 { return s1.id > s2.id; }); //Sort(s, delegate(Student s1, Student s2)//根据age排序 //{ // return s1.age > s2.age; //});      匿名方法允许我们定义委托对象可以接受的代码块

wpf之DragDrop研究

走远了吗. 提交于 2020-01-31 04:48:57
想要实现一个效果,当鼠标拖拽的时候,有一个跟随的窗口,随着鼠标移动。 相关步骤如下: 1,启动拖拽 DataObject dataobj = new DataObject("1"); DragDrop.DoDragDrop(DirectoryTree, dataobj, DragDropEffects.Move); 2,创建一个窗体 _Drag = new Window_Drag { Topmost = true, WindowStartupLocation = WindowStartupLocation.Manual }; var pt = Mouse.GetPosition(null); _Drag.Top = pt.Y + DataCenter.Ins().FrameWindow.Top; _Drag.Left = pt.X + DataCenter.Ins().FrameWindow.Left; _Drag.ResName = Name; _Drag.ResId = ResId; _Drag.Show(); 3,添加窗体跟随鼠标移动 添加拖拽移动事件 RealPlayGrid.AddHandler(DragOverEvent, new DragEventHandler(RealPlay_Vm.Grid_DragOver), true); 设置窗口的位置: if (null

Are static methods always held in memory?

心不动则不痛 提交于 2020-01-31 04:16:43
问题 My whole development team thinks, static methods are a terrible thing to use. I really don't see any disadvantages in some cases. When I needed a stateless method before, I always used static methods for that purpose. I agree with some of their points, e.g. I know they are quite hard to test (although it's not impossible). What I don't get is, that they claim, static methods are always held in memory and will fill the basic memory usage. So, if you are using 100 static methods in your program